Connect public, paid and private patent data with Google Patents Public Datasets

Kombinierte Soft-Erkennung/Soft-Decodierung in Bandlaufwerk-Speicherkanälen

Info

Publication number
DE112013001025T5
DE112013001025T5 DE201311001025 DE112013001025T DE112013001025T5 DE 112013001025 T5 DE112013001025 T5 DE 112013001025T5 DE 201311001025 DE201311001025 DE 201311001025 DE 112013001025 T DE112013001025 T DE 112013001025T DE 112013001025 T5 DE112013001025 T5 DE 112013001025T5
Authority
DE
Grant status
Application
Patent type
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE201311001025
Other languages
English (en)
Inventor
A. c/o IBM Corporation Hutchins Robert
c/o IBM Corporation Mittelholzer Thomas
c/o IBM Corporation Oelcer Sedat
D. c/o IBM Corporation Cideciyan Roy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GlobalFoundries Inc
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals
    • G11B20/10305Improvement or modification of read or write signals signal quality assessment
    • G11B20/10361Improvement or modification of read or write signals signal quality assessment digital demodulation process
    • G11B20/10379Improvement or modification of read or write signals signal quality assessment digital demodulation process based on soft decisions, e.g. confidence values, probability estimates, likelihoods values or path metrics of a statistical decoding algorithm
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/008Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires
    • G11B5/00813Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes
    • HELECTRICITY
    • H03BASIC ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H03BASIC ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03BASIC ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H03BASIC ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding and approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding; MAP decoding also to be found in H04L1/0055
    • HELECTRICITY
    • H03BASIC ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
    • HELECTRICITY
    • H03BASIC ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6325Error control coding in combination with demodulation
    • HELECTRICITY
    • H03BASIC ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • H03M5/145Conversion to or from block codes or representations thereof
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/185Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using an low density parity check [LDPC] code

Abstract

In einer Ausführungsform schließt ein Verfahren ein Ausführen einer ersten Vorwärtsschleife eines Erkennungsalgorithmus an einem Block von Signalabtastwerten während eines ersten Zeitintervalls, ein Ausführen einer ersten Rückwärtsschleife des Erkennungsalgorithmus am Block während eines zweiten Zeitintervalls, um eine erste Soft-Information zu erzeugen, ein Ausführen eines Decodierungsalgorithmus am Block während eines dritten Zeitintervalls unter Verwendung der ersten Soft-Information, um eine zweite Soft-Information zu erzeugen, ein Ausführen einer zweiten Vorwärtsschleife des Erkennungsalgorithmus am Block während eines vierten Zeitintervalls unter Verwendung der zweiten Soft-Information, ein Ausführen einer zweiten Rückwärtsschleife des Erkennungsalgorithmus am Block während eines fünften Zeitintervalls, um eine dritte Soft-Information zu erzeugen, ein Ausführen des Decodierungsalgorithmus am Block während eines sechsten Zeitintervalls unter Verwendung der dritten Soft-Information, um einen decodierten Block von Signalabtastwerten zu erzeugen, und ein Ausgeben des decodierten Blocks von Signalabtastwerten ein.

Description

  • HINTERGRUND
  • [0001]
    Die vorliegende Erfindung betrifft das Lesen von Information aus Spuren in einem Bandlaufwerkssystem, und insbesondere die Verwendung einer kombinierten Soft-Erkennung/Soft-Decodierung in Speicherkanälen.
  • [0002]
    Reverse-Concatenation (Umkehrverkettung) ist eine Technik, um die Robustheit von Bandlaufwerkssystemen zu verbessern und die Kapazität von Bandkassetten zu erhöhen. In dieser Technik wird vor der Fehlerkorrekturcode-(ECC)-Codierung eine Modulationscodierung durchgeführt, sodass der Lesekanal in der Lage ist, die ECC-Decodierung vor der Decodierung des Modulationscodes zu realisieren. Dieser Ansatz ermöglicht die Anwendung von Soft-ECC-Decodierungstechniken, da Soft-Zuverlässigkeitsinformation, die durch einen Soft-Detektor aus Kanaldaten extrahiert wird, dem Soft-ECC-Decoder direkt verfügbar gemacht wird. Low-Density-Parity-Check-(LDPC)-Codes sind eine Familie von Codes, die kapazitätsauslastend, einfach zu codieren und attraktiv für die effiziente Soft-Decodierung sind. Deshalb stellen sie als Komponenten-Codes in einer Reverse-Concatenation-Architektur für Bandlaufwerkssysteme attraktive Kandidaten dar.
  • [0003]
    Im Lesekanal solch einer Reverse-Concatenation-Architektur extrahiert ein Soft-Detektor Soft-Zuverlässigkeitsinformation über Kanal-Bits und übergibt diese Information an einen Soft-LDPC-Decoder. Der Soft-Erkennungs-/Decodierungsprozess beinhaltet zwei Arten von Rekursionen oder Iterationen: Iterationen innerhalb des LDPC-Decoders (der Summe-Produkt-Decodieralgorithmus – oder Varianten davon – führt Iterationen und einen Austausch von Soft-Information zwischen sogenannten ”Prüfknoten” und ”Symbolknoten” durch) und Iterationen und einen Austausch von Soft-Information zwischen Decoder und Detektor. Die Realisierung eines derartigen Detektors/Decoders stellt erhebliche Herausforderungen, da gewünscht wird, die Systemleistung durch Erhöhen der Zahl von Iterationen zu maximieren, was strenge Anforderungen an die Schaltungsgeschwindigkeit und Chipfläche stellt. Insbesondere der Austausch und die Rückführung von Soft-Information zwischen Decoder und Detektor stellen einen erheblichen Engpass im Kanal dar. Daher wären ein System und ein Verfahren, das dieses Problem anspricht, für Bandlaufwerkssysteme vorteilhaft.
  • KURZBESCHREIBUNG
  • [0004]
    In einer Ausführungsform schließt ein Bandlaufwerkssystem einen Soft-Detektor ein, umfassend Logik, die in einer ersten Hardware-Engine realisiert ist, geeignet, um während eines ersten Zeitintervalls eine erste Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten auszuführen, Logik, die in einer zweiten Hardware-Engine realisiert ist, geeignet, um während eines zweiten Zeitintervalls eine erste Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen und während eines fünften Zeitintervalls eine zweite Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, Logik, die in einer vierten Hardware-Engine realisiert ist, geeignet, um während eines vierten Zeitintervalls unter Verwendung einer zweiten Soft-Information eine zweite Vorwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, wobei der Soft-Detektor auf der Grundlage der Ausführung der ersten Vorwärts- und Rückwärtsschleife eine erste Soft-Information an einen Soft-Decoder übergibt, und wobei der Soft-Detektor auf der Grundlage der Ausführung der zweiten Vorwärts- und Rückwärtsschleife eine dritte Soft-Information an den Soft-Decoder übergibt, wobei der Soft-Decoder Logik aufweist, die in einer dritten Hardware-Engine realisiert ist, geeignet, um während eines dritten Zeitintervalls unter Verwendung der ersten Soft-Information einen Decodierungsalgorithmus am ersten Block auszuführen und während eines sechsten Zeitintervalls unter Verwendung der dritten Soft-Information den Decodierungsalgorithmus am ersten Block auszuführen, wobei der Soft-Decoder auf der Grundlage der Ausführung des Decodierungsalgorithmus während des dritten Zeitintervalls die zweite Soft-Information erzeugt, und Logik, geeignet, um auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des sechsten Zeitintervalls einen ersten decodierten Block von Signalabtastwerten auszugeben, wobei eine Summe des zweiten, dritten, vierten, fünften und sechsten Zeitintervalls etwa der Dauer des ersten Zeitintervalls entspricht.
  • [0005]
    In einer anderen Ausführungsform schließt ein Bandlaufwerkssystem einen Soft-Detektor ein, umfassend Logik, die in einer ersten Hardware-Engine realisiert ist, geeignet, um während eines ersten Zeitintervalls eine erste Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten auszuführen, Logik, die in einer zweiten Hardware-Engine realisiert ist, geeignet, um während des ersten Zeitintervalls eine erste Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, um eine erste Soft-Information zu erzeugen, Logik, die in einer dritten Hardware-Engine realisiert ist, geeignet, um während eines dritten Zeitintervalls eine zweite Vorwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, und Logik, die in einer vierten Hardware-Engine realisiert ist, geeignet, um während des dritten Zeitintervalls eine zweite Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, um eine dritte Soft-Information zu erzeugen, einen Soft-Decoder, umfassend Logik, die in einer fünften Hardware-Engine realisiert ist, geeignet, um während eines zweiten Zeitintervalls unter Verwendung der ersten Soft-Information einen Decodierungsalgorithmus am ersten Block auszuführen, um die zweite Soft-Information zu erzeugen, und während eines vierten Zeitintervalls unter Verwendung der dritten Soft-Information den Decodierungsalgorithmus am ersten Block auszuführen, und Logik, geeignet, um auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des vierten Zeitintervalls unter Verwendung der dritten Soft-Information einen ersten decodierten Block von Signalabtastwerten auszugeben, wobei eine Summe der zweiten, dritten und vierten Zeitintervalle etwa der Dauer des ersten Zeitintervalls entspricht.
  • [0006]
    In einer weiteren Ausführungsform schließt ein Bandlaufwerkssystem einen Soft-Detektor ein, umfassend Logik, die in einer ersten Hardware-Engine realisiert ist, geeignet, um während eines ersten Zeitintervalls eine erste Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten auszuführen, Logik, die in einer zweiten Hardware-Engine realisiert ist, geeignet, um während eines zweiten Zeitintervalls eine erste Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, Logik, die in einer vierten Hardware-Engine realisiert ist, geeignet, um während eines vierten Zeitintervalls unter Verwendung einer zweiten Soft-Information eine zweite Vorwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, und Logik, die in einer fünften Hardware-Engine realisiert ist, geeignet, um während eines fünften Zeitintervalls unter Verwendung der zweiten Soft-Information eine zweite Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, wobei der Soft-Detektor eine erste Soft-Information auf der Grundlage der Ausführung der ersten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am ersten Block an einen Soft-Decoder übergibt, und wobei der Soft-Detektor eine dritte Soft-Information auf der Grundlage der Ausführung der zweiten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am ersten Block an den Soft-Decoder übergibt, wobei der Soft-Decoder Logik aufweist, die in einer dritten Hardware-Engine realisiert ist, geeignet, um während eines dritten Zeitintervalls unter Verwendung der ersten Soft-Information einen Decodierungsalgorithmus am ersten Block auszuführen und während eines sechsten Zeitintervalls unter Verwendung der dritten Soft-Information einen Decodierungsalgorithmus am ersten Block auszuführen, wobei der Soft-Decoder auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des dritten Zeitintervalls die zweite Soft-Information erzeugt, und Logik, geeignet, um auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des sechsten Zeitintervalls einen ersten decodierten Block von Signalabtastwerten auszugeben, wobei eine Summe des zweiten, dritten, vierten, fünften und sechsten Zeitintervalls etwa der zweifachen Dauer des ersten Zeitintervalls entspricht.
  • [0007]
    Einer weiteren Ausführungsform gemäß schließt ein Bandlaufwerkssystem einen Soft-Detektor ein, umfassend Logik, die in einer ersten Hardware-Engine realisiert ist, geeignet, um während eines ersten Zeitintervalls eine erste Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten auszuführen, Logik, die in einer zweiten Hardware-Engine realisiert ist, geeignet, um während des ersten Zeitintervalls eine erste Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, Logik, die in einer vierten Hardware-Engine realisiert ist, geeignet, um während eines dritten Zeitintervalls unter Verwendung einer zweiten Soft-Information eine zweite Vorwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, und Logik, die in einer fünften Hardware-Engine realisiert ist, geeignet, um während des dritten Zeitintervalls unter Verwendung der zweiten Soft-Information eine zweite Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, wobei der Soft-Detektor eine erste Soft-Information auf der Grundlage der Ausführung der ersten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am ersten Block an einen Soft-Decoder übergibt, und wobei der Soft-Detektor eine dritte Soft-Information auf der Grundlage der Ausführung der zweiten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am ersten Block an den Soft-Decoder übergibt, wobei der Soft-Decoder Logik aufweist, die in einer dritten Hardware-Engine realisiert ist, geeignet, um während eines zweiten Zeitintervalls unter Verwendung der ersten Soft-Information einen Decodierungsalgorithmus am ersten Block auszuführen und während eines vierten Zeitintervalls unter Verwendung der dritten Soft-Information einen Decodierungsalgorithmus am ersten Block auszuführen, wobei der Soft-Decoder die zweite Soft-Information auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des zweiten Zeitintervalls erzeugt, und Logik, geeignet, um auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des vierten Zeitintervalls einen ersten decodierten Block von Signalabtastwerten auszugeben, wobei eine Summe der zweiten, dritten und vierten Zeitintervalle etwa der zweifachen Dauer des ersten Zeitintervalls entspricht.
  • [0008]
    In einer weiteren Ausführungsform umfasst ein Verfahren ein Ausführen einer ersten Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten während eines ersten Zeitintervalls, ein Ausführen einer ersten Rückwärtsschleife des Erkennungsalgorithmus am ersten Block während eines zweiten Zeitintervalls, um eine erste Soft-Information zu erzeugen, ein Ausführen eines Decodierungsalgorithmus am ersten Block während eines dritten Zeitintervalls unter Verwendung der ersten Soft-Information, um eine zweite Soft-Information zu erzeugen, ein Ausführen einer zweiten Vorwärtsschleife des Erkennungsalgorithmus am ersten Block während eines vierten Zeitintervalls unter Verwendung der zweiten Soft-Information, ein Ausführen einer zweiten Rückwärtsschleife des Erkennungsalgorithmus am ersten Block während eines fünften Zeitintervalls, um eine dritte Soft-Information zu erzeugen, ein Ausführen des Decodierungsalgorithmus am ersten Block während eines sechsten Zeitintervalls unter Verwendung der dritten Soft-Information, um einen decodierten Block von Signalabtastwerten zu erzeugen, und ein Ausgeben des ersten decodierten Blocks von Signalabtastwerten.
  • [0009]
    Jede dieser Ausführungsformen kann in einem magnetischen Datenspeichersystem wie z. B. in einem Bandlaufwerkssystem realisiert sein, das einen Magnetkopf, einen Antriebsmechanismus, um einen magnetischen Datenträger (z. B. ein Aufzeichnungsband) über den Magnetkopf zu führen, und einen mit dem Magnetkopf elektrisch verbundenen Controller einschließen kann.
  • [0010]
    Weitere Aspekte und Ausführungsformen der vorliegenden Erfindung gehen aus der folgenden ausführlichen Beschreibung hervor, die in Verbindung mit den Zeichnungen auf beispielhafte Weise die Prinzipien der Erfindung veranschaulicht.
  • KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
  • [0011]
    1 veranschaulicht einen flachgeläppten Magnetband-Kopf gemäß einer Ausführungsform.
  • [0012]
    2A ist eine Ansicht der Bandauflagefläche entlang der Linie 2A in 1.
  • [0013]
    2B ist eine Detailansicht innerhalb des Kreises 2B von 2A.
  • [0014]
    3 veranschaulicht ein vereinfachtes Bandlaufwerk eines Band-Datenspeichersystems gemäß einer Ausführungsform.
  • [0015]
    4 zeigt ein allgemeines Blockschaltbild zur Durchführung einer kombinierten Soft-Erkennung und Soft-Decodierung.
  • [0016]
    5 zeigt Vorwärtsberechnungsschritte und Rückwärtsberechnungsschritte eines Erkennungsalgorithmus gemäß einer Ausführungsform.
  • [0017]
    6A zeigt ein Soft-Erkennungs-/Soff-Decodierungssystem gemäß einer Ausführungsform.
  • [0018]
    6B zeigt ein Blockschaltbild eines Soft-Erkennungs-/Soft-Decodierungssystems gemäß einer Ausführungsform.
  • [0019]
    7 zeigt ein Soft-Erkennungs-/Soft-Decodierungssystem gemäß einer Ausführungsform.
  • [0020]
    8 ist ein vereinfachtes Zeitablaufdiagramm für einen Sliding-Window-Dual-MAX(SW-DMAX)-Algorithmus gemäß einer Ausführungsform.
  • [0021]
    9 zeigt ein Soft-Erkennungs-/Soft-Decodierungssystem gemäß einer Ausführungsform.
  • [0022]
    10 zeigt ein Soft-Erkennungs-/Soft-Decodierungssystem gemäß einer Ausführungsform.
  • [0023]
    11 ist Ablaufplan eines Verfahrens gemäß einer Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • [0024]
    Die folgende Beschreibung dient der Veranschaulichung der allgemeinen Prinzipien der vorliegenden Erfindung und soll die erfinderischen Konzepte, die hierin beansprucht werden, nicht einschränken. Ferner können bestimmte Merkmale, die hierin beschrieben werden, in jeder der verschiedenen möglichen Kombinationen und Permutationen in Kombination mit anderen beschriebenen Merkmalen verwendet werden.
  • [0025]
    Soweit hierin nicht spezifisch anders definiert, ist allen Begriffen ihre breitestmögliche Interpretation zu geben, mit Bedeutungen, wie sie aus der Patentschrift hervorgehen, sowie mit Bedeutungen, wie sie sich für den Fachmann verstehen und/oder wie sie in Wörterbüchern, Abhandlungen usw. definiert sind.
  • [0026]
    Es ist auch anzumerken, dass die Singularformen ”ein”, ”eine” und ”der, die, das”, wie sie in der Patentschrift und in den beigefügten Ansprüchen verwendet werden, außer bei anderslautender Angabe die Mehrzahl einschließen.
  • [0027]
    Einer Ausführungsform gemäß wird ein kombinierter Soft-Detektor/Decoder bereitgestellt, der die Architektur und Logik für ein Bandlaufwerkssystem vereinfacht.
  • [0028]
    In einer allgemeinen Ausführungsform schließt ein Bandlaufwerkssystem einen Soft-Detektor ein, umfassend Logik, die in einer ersten Hardware-Engine realisiert ist, geeignet, um während eines ersten Zeitintervalls eine erste Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten auszuführen, Logik, die in einer zweiten Hardware-Engine realisiert ist, geeignet, um während eines zweiten Zeitintervalls eine erste Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen und während eines fünften Zeitintervalls eine zweite Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, Logik, die in einer vierten Hardware-Engine realisiert ist, geeignet, um während eines vierten Zeitintervalls unter Verwendung einer zweiten Soft-Information eine zweite Vorwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, wobei der Soft-Detektor auf der Grundlage der Ausführung der ersten Vorwärts- und Rückwärtsschleife eine erste Soft-Information an einen Soft-Decoder übergibt, und wobei der Soft-Detektor auf der Grundlage der Ausführung der zweiten Vorwärts- und Rückwärtsschleife eine dritte Soft-Information an den Soft-Decoder übergibt, wobei der Soft-Decoder Logik aufweist, die in einer dritten Hardware-Engine realisiert ist, geeignet, um während eines dritten Zeitintervalls unter Verwendung der ersten Soft-Information einen Decodierungsalgorithmus am ersten Block auszuführen und während eines sechsten Zeitintervalls unter Verwendung der dritten Soft-Information den Decodierungsalgorithmus am ersten Block auszuführen, wobei der Soft-Decoder auf der Grundlage der Ausführung des Decodierungsalgorithmus während des dritten Zeitintervalls die zweite Soft-Information erzeugt, und Logik, geeignet, um auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des sechsten Zeitintervalls einen ersten decodierten Block von Signalabtastwerten auszugeben, wobei eine Summe des zweiten, dritten, vierten, fünften und sechsten Zeitintervalls etwa der Dauer des ersten Zeitintervalls entspricht.
  • [0029]
    In einer anderen allgemeinen Ausführungsform schließt ein Bandlaufwerkssystem einen Soft-Detektor ein, umfassend Logik, die in einer ersten Hardware-Engine realisiert ist, geeignet, um während eines ersten Zeitintervalls eine erste Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten auszuführen, Logik, die in einer zweiten Hardware-Engine realisiert ist, geeignet, um während des ersten Zeitintervalls eine erste Rückwärtsschleife des Erkennungsalgorithmus am ersten Block von Signalabtastwerten auszuführen, um eine erste Soft-Information zu erzeugen, Logik, die in einer dritten Hardware-Engine realisiert ist, geeignet, um während eines dritten Zeitintervalls eine zweite Vorwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, und Logik, die in einer vierten Hardware-Engine realisiert ist, geeignet, um während des dritten Zeitintervalls eine zweite Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, um eine dritte Soft-Information zu erzeugen, einen Soft-Decoder, umfassend Logik, die in einer fünften Hardware-Engine realisiert ist, geeignet, um während eines zweiten Zeitintervalls unter Verwendung der ersten Soft-Information einen Decodierungsalgorithmus am ersten Block auszuführen, um die zweite Soft-Information zu erzeugen, und während eines vierten Zeitintervalls unter Verwendung der dritten Soft-Information den Decodierungsalgorithmus am ersten Block auszuführen, und Logik, geeignet, um auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des vierten Zeitintervalls unter Verwendung der dritten Soft-Information einen ersten decodierten Block von Signalabtastwerten auszugeben, wobei eine Summe der zweiten, dritten und vierten Zeitintervalle etwa der Dauer des ersten Zeitintervalls entspricht.
  • [0030]
    In einer weiteren allgemeinen Ausführungsform schließt ein Bandlaufwerkssystem einen Soft-Detektor ein, umfassend Logik, die in einer ersten Hardware-Engine realisiert ist, geeignet, um während eines ersten Zeitintervalls eine erste Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten auszuführen, Logik, die in einer zweiten Hardware-Engine realisiert ist, geeignet, um während eines zweiten Zeitintervalls eine erste Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, Logik, die in einer vierten Hardware-Engine realisiert ist, geeignet, um während eines vierten Zeitintervalls unter Verwendung einer zweiten Soft-Information eine zweite Vorwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, und Logik, die in einer fünften Hardware-Engine realisiert ist, geeignet, um während eines fünften Zeitintervalls unter Verwendung der zweiten Soft-Information eine zweite Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, wobei der Soft-Detektor eine erste Soft-Information auf der Grundlage der Ausführung der ersten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am ersten Block an einen Soft-Decoder übergibt, und wobei der Soft-Detektor eine dritte Soft-Information auf der Grundlage der Ausführung der zweiten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am ersten Block an den Soft-Decoder übergibt, wobei der Soft-Decoder Logik aufweist, die in einer dritten Hardware-Engine realisiert ist, geeignet, um während eines dritten Zeitintervalls unter Verwendung der ersten Soft-Information einen Decodierungsalgorithmus am ersten Block auszuführen und während eines sechsten Zeitintervalls unter Verwendung der dritten Soft-Information einen Decodierungsalgorithmus am ersten Block auszuführen, wobei der Soft-Decoder die zweite Soft-Information auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des dritten Zeitintervalls erzeugt, und Logik, geeignet, um auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des sechsten Zeitintervalls einen ersten decodierten Block von Signalabtastwerten auszugeben, wobei eine Summe des zweiten, dritten, vierten, fünften und sechsten Zeitintervalls etwa der zweifachen Dauer des ersten Zeitintervalls entspricht.
  • [0031]
    Einer weiteren allgemeinen Ausführungsform gemäß schließt ein Bandlaufwerkssystem einen Soft-Detektor ein, umfassend Logik, die in einer ersten Hardware-Engine realisiert ist, geeignet, um während eines ersten Zeitintervalls eine erste Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten auszuführen, Logik, die in einer zweiten Hardware-Engine realisiert ist, geeignet, um während des ersten Zeitintervalls eine erste Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, Logik, die in einer vierten Hardware-Engine realisiert ist, geeignet, um während eines dritten Zeitintervalls unter Verwendung einer zweiten Soft-Information eine zweite Vorwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, und Logik, die in einer fünften Hardware-Engine realisiert ist, geeignet, um während des dritten Zeitintervalls unter Verwendung der zweiten Soft-Information eine zweite Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, wobei der Soft-Detektor eine erste Soft-Information auf der Grundlage der Ausführung der ersten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am ersten Block an einen Soft-Decoder übergibt, und wobei der Soft-Detektor eine dritte Soft-Information auf der Grundlage der Ausführung der zweiten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am ersten Block an den Soft-Decoder übergibt, wobei der Soft-Decoder Logik aufweist, die in einer dritten Hardware-Engine realisiert ist, geeignet, um während eines zweiten Zeitintervalls unter Verwendung der ersten Soft-Information einen Decodierungsalgorithmus am ersten Block auszuführen und während eines vierten Zeitintervalls unter Verwendung der dritten Soft-Information einen Decodierungsalgorithmus am ersten Block auszuführen, wobei der Soft-Decoder die zweite Soft-Information auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des zweiten Zeitintervalls erzeugt, und Logik, geeignet, um auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des vierten Zeitintervalls einen ersten decodierten Block von Signalabtastwerten auszugeben, wobei eine Summe der zweiten, dritten und vierten Zeitintervalle etwa der zweifachen Dauer des ersten Zeitintervalls entspricht.
  • [0032]
    In einer weiteren allgemeinen Ausführungsform umfasst ein Verfahren ein Ausführen einer ersten Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten während eines ersten Zeitintervalls, ein Ausführen einer ersten Rückwärtsschleife des Erkennungsalgorithmus am ersten Block während eines zweiten Zeitintervalls, um eine erste Soft-Information zu erzeugen, ein Ausführen eines Decodierungsalgorithmus am ersten Block während eines dritten Zeitintervalls unter Verwendung der ersten Soft-Information, um eine zweite Soft-Information zu erzeugen, ein Ausführen einer zweiten Vorwärtsschleife des Erkennungsalgorithmus am ersten Block während eines vierten Zeitintervalls unter Verwendung der zweiten Soft-Information, ein Ausführen einer zweiten Rückwärtsschleife des Erkennungsalgorithmus am ersten Block während eines fünften Zeitintervalls, um eine dritte Soft-Information zu erzeugen, ein Ausführen des Decodierungsalgorithmus am ersten Block während eines sechsten Zeitintervalls unter Verwendung der dritten Soft-Information, um einen decodierten Block von Signalabtastwerten zu erzeugen, und ein Ausgeben des ersten decodierten Blocks von Signalabtastwerten.
  • [0033]
    Wie der Fachmann erkennen wird, können Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt ausgeführt werden. Demnach können Aspekte der vorliegenden Erfindung die Form einer kompletten Hardware-Ausführungsform, einer kompletten Software-Ausführungsform (einschließlich Firmware, speicherresidenter Software, Mikrocode usw.) oder einer Ausführungsform annehmen, die Software- und Hardwareaspekte kombiniert, die hierin alle allgemein als ”Logik”, ”Schaltung”, ”Modul” oder ”System” bezeichnet werden können. Darüber hinaus können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem computerlesbaren Medium oder in mehreren computerlesbaren Medien mit einem darauf ausgeführten computerlesbaren Programmcode ausgeführt ist.
  • [0034]
    Jede Kombination eines computerlesbaren Mediums oder mehrerer computerlesbarer Medien kann verwendet werden. Das computerlesbare Medium kann ein computerlesbarer Signalträger oder ein nicht flüchtiges computerlesbares Speichermedium sein. Ein nicht flüchtiges computerlesbares Speichermedium kann zum Beispiel, ohne darauf beschränkt zu sein, ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleiter-System, eine entsprechende Vorrichtung oder Einheit oder jede geeignete Kombination des Vorstehenden sein. Spezifischere Beispiele (eine nicht erschöpfende Liste) des computerlesbaren Speichermediums schließen folgendes ein: eine tragbare Computerdiskette, eine Festplatte, einen Arbeitsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM oder Flash-Speicher), eine CD-ROM, eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination des Vorstehenden. Im Kontext dieses Dokuments kann ein computerlesbares Speichermedium jedes nicht flüchtige, materielle Medium sein, das ein Programm zur Verwendung durch oder in Verbindung mit einem Befehlsausführungssystem oder einer entsprechenden Vorrichtung oder Einheit enthalten oder speichern kann.
  • [0035]
    Ein computerlesbarer Signalträger kann ein verbreitetes Datensignal mit einem computerlesbaren Programmcode sein, der zum Beispiel im Basisband oder als Teil einer Trägerwelle darin ausgeführt ist. Solch ein verbreitetes Signal kann verschiedene Formen annehmen, einschließlich, ohne darauf beschränkt zu sein, elektromagnetisch, optisch oder jede geeignete Kombination daraus. Ein computerlesbarer Signalträger kann jedes computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem Befehlsausführungssystem, einer entsprechenden Vorrichtung oder Einheit übertragen, verbreiten oder transportieren kann, wie z. B. eine elektrische Verbindung mit einem oder mehreren Drähten, ein Lichtwellenleiter usw.
  • [0036]
    Programmcode, der auf einem computerlesbaren Medium ausgeführt ist, kann durch jedes geeignete Medium übertragen werden, einschließlich, ohne darauf beschränkt zu sein, drahtlos, Drahtleitung, Lichtwellenleiterkabel, HF usw., oder jede geeignete Kombination des Vorstehenden.
  • [0037]
    Der Computerprogrammcode zur Durchführung von Operationen für Aspekte der vorliegenden Erfindung kann in jeder Kombination einer oder mehrerer Programmiersprachen geschrieben sein, einschließlich einer objektorientierten Programmiersprache wie Java, Smalltalk, C++ oder dergleichen und konventioneller prozeduraler Programmiersprachen wie die Programmiersprache ”C” oder ähnliche Programmiersprachen. Der Programmcode kann gänzlich auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise an einem fernen Computer oder gänzlich auf dem fernen Computer oder Server ausgeführt werden. Im letzteren Szenario kann der ferne Computer durch jede Art von Netzwerk einschließlich eines lokalen Netzwerks (LAN) oder eines Weitverkehrsnetzes (WAN) mit dem Computer eines Benutzers verbunden sein, oder die Verbindung kann zu einem externen Computer hergestellt werden (zum Beispiel über das Internet durch einen Internet-Diensteanbieter).
  • [0038]
    Aspekte der vorliegenden Erfindung werden im Folgenden Bezug nehmend auf Ablaufpläne und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten nach Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder Blockschaltbilder und Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschaltbildern durch Computerprogrammbefehle realisiert werden können. Diese Computerprogrammbefehle können einem Prozessor eines Universalcomputers, Spezialcomputers oder einer sonstigen programmierbaren Datenverarbeitungsvorrichtung zur Herstellung einer Maschine bereitgestellt werden, sodass die Befehle, die über den Prozessor des Computers oder der sonstigen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zur Durchführung der Funktionen/Vorgänge ergeben, die im Block oder in Blöcken der Ablaufpläne und/oder Blockschaltbilder angegeben sind.
  • [0039]
    Diese Computerprogrammbefehle können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder sonstige Einheiten anweisen kann, auf eine bestimmte Weise zu funktionieren, sodass die Befehle, die im computerlesbaren Medium gespeichert sind, ein Erzeugnis mit Befehlen ergeben, welche die Funktionen/Vorgänge realisieren, die im Block oder in Blöcken der Ablaufpläne und/oder Blockschaltbilder angegeben sind.
  • [0040]
    Die Computerprogrammbefehle können auch in einen Computer, in eine andere programmierbare Datenverarbeitungsvorrichtung oder in sonstige Einheiten geladen werden, um die Durchführung einer Reihe von Arbeitsgängen auf dem Computer, der anderen programmierbaren Vorrichtung oder sonstigen Einheiten zu bewirken, um einen computergestützten Prozess zu ergeben, sodass die Befehle, die auf dem Computer oder der sonstigen programmierbaren Vorrichtung ausgeführt werden, Prozesse zur Ausführung der Funktionen/Vorgänge ergeben, die im Block oder in Blöcken der Ablaufpläne und/oder Blockschaltbilder angegeben sind.
  • [0041]
    1 veranschaulicht einen flachgeläppten bidirektionalen Zwei-Modul-Magnetbandkopf 100 gemäß einer Ausführungsform. Wie gezeigt, weist der Kopf ein Paar Träger 102 auf, die jeweils mit einem Modul 104 ausgestattet sind. Die Träger können ”U-Träger” sein, die durch Klebstoff miteinander verbunden sind. Jedes Modul 104 weist ein Substrat 104A und einen Abschluss 104B mit dazwischenliegenden Lesern und Schreibern 106 auf. In Betrieb bewegt sich ein Band 108 auf die gezeigte Weise über den Modulen 104 entlang einer Bandauflagefläche 109, um unter Verwendung der Leser und Schreiber 106 Daten zu lesen und auf das Band 108 zu schreiben. Herkömmlich wird zwischen dem Band 108 und der Bandauflagefläche 109 ein Unterdruck hergestellt, um das Band 108 in unmittelbarer Nähe der Leser und Schreiber 106 zu halten.
  • [0042]
    Die Substrate 104A sind typischerweise aus einem verschleißfesten Material wie z. B. einer Keramik konstruiert. Die Abschlüsse 104B können aus derselben oder aus einer ähnlichen Keramik wie die Substrate 104A bestehen.
  • [0043]
    Die Leser und Schreiber 106 können in einer Huckepack-Konfiguration angeordnet sein. Die Leser und Schreiber 106 können auch in einer verschachtelten Konfiguration angeordnet sein. Alternativ dazu kann jedes Array von Kanälen nur aus Lesern oder Schreibern bestehen. Jedes dieser Arrays kann einen oder mehrere Servoleser enthalten.
  • [0044]
    2A veranschaulicht die Bandauflagefläche 109 eines der Module 104. Ein repräsentatives Band 108 wird in gestrichelten Linien gezeigt. Das Modul 104 ist bevorzugt lang genug, um das Band tragen zu können, wenn der Kopf zwischen Datenbändern umspringt.
  • [0045]
    In diesem Beispiel weist das Band 108 4 bis 22 Datenbänder auf, z. B. mit 16 Datenbändern und 17 Servospuren 202 auf einem einen halben Zoll breiten Band 108, wie in 2A gezeigt. Die Datenbänder sind zwischen Servospuren 202 definiert. Jedes Datenband kann eine Anzahl von Datenspuren aufweisen, zum Beispiel 96 Datenspuren (nicht gezeigt). Bei Lese-/Schreibvorgängen sind die Elemente 106 innerhalb eines der Datenbänder positioniert. Äußere Leser, manchmal Servoleser genannt, lesen die Servospuren 202. Die Servosignale werden ihrerseits verwendet, um die Elemente 106 während der Schreib-/Lesevorgänge mit einer bestimmten Spur ausgerichtet zu halten.
  • [0046]
    2B stellt eine Vielzahl von Lese- und/oder Schreibelementen 106 dar, die in einem Spalt 208 auf dem Modul 104 von 2A gebildet sind. Wie gezeigt, weist das Array von Elementen 106 zum Beispiel 16 Schreiber 209, 16 Leser 210 und zwei Servoleser 212 auf, obwohl die Zahl der Elemente variieren kann. Veranschaulichende Ausführungsformen weisen 8, 16, 32 und 64 Elemente pro Array 106 auf. Eine bevorzugte Ausführungsform weist 16 Leser pro Array und/oder 16 Schreiber pro Array auf. Obwohl die Leser und Schreiber in einer Huckepack-Konfiguration angeordnet sein können, wie in 2B gezeigt, können die Leser 210 und Schreiber 209 auch in einer verschachtelten Konfiguration angeordnet sein. Alternativ dazu kann jedes Array von Elementen 106 nur aus Lesern oder Schreibern bestehen, und die Arrays können einen oder mehrere Servoleser enthalten. Wie aus 1 und 2A bis B gemeinsam zu ersehen ist, kann jedes Modul 104 einen komplementären Satz von Elementen 106 für Funktionen wie das bidirektionale Lesen und Schreiben, die gleichzeitige Lese- und Schreibfähigkeit usw. einschließen.
  • [0047]
    In manchen Ausführungsformen ist die Breite des Servolesers derart, dass Übergangsverbreiterungseffekte minimiert werden. In Servolesern für moderne Formate, die Servoleser mit kleinen Breiten wie z. B. 0,5 Mikrometer erfordern, werden bevorzugt Riesenmagnetowiderstands(GMR)- und Tunnelmagnetowiderstands(TMR)-Einheiten verwendet.
  • [0048]
    3 veranschaulicht ein vereinfachtes Bandlaufwerk 300 eines Band-Datenspeichersystems, das verschiedenen Ausführungsformen gemäß verwendet werden kann. Obwohl in 3 eine spezifische Realisierung eines Bandlaufwerks gezeigt wird, ist anzumerken, dass die hierin beschriebenen Ausführungsformen im Kontext von Bandlaufwerkssystemen jeden Typs realisierbar sind.
  • [0049]
    Wie gezeigt, sind eine Bandkassette 320 und eine Aufrollspule 321 vorgesehen, um ein Band 322 zu tragen. Eine oder mehrere der Spulen können Teil einer entnehmbaren Kassette sein und sind nicht unbedingt Teil des Systems 300. Das Bandlaufwerk, wie z. B. das in 3 gezeigte, kann zudem Antriebsmotor(en) zum Antrieb der Bandkassette 320 und der Aufrollspule 321 aufweisen, um das Band 322 über einem Bandkopf 326 jeden Typs zu bewegen.
  • [0050]
    Führungen 325 führen das Band 322 über den Bandkopf 326 hinweg. Dieser Bandkopf 326 ist seinerseits über ein Kabel 330 mit einer Controller-Einheit 328 verbunden. Der Controller 328 weist typischerweise einen Servokanal auf und steuert Kopffunktionen wie z. B. Spurnachführung, Schreiben, Lesen usw. Das Kabel 330 kann Lese/Schreibschaltungen einschließen, um Daten, die auf das Band 322 aufgezeichnet werden sollen, zum Kopf 326 zu übertragen, und Daten, die durch den Kopf 326 vom Band 322 gelesen werden, zu empfangen. Ein Stellantrieb 332 legt die Position des Kopfes 326 relativ zum Band 322 fest.
  • [0051]
    Für die Kommunikation zwischen dem Bandlaufwerk und einem Host (integriert oder extern) kann auch eine Schnittstelle vorgesehen sein, um die Daten zu senden und zu empfangen, den Betrieb des Bandlaufwerks zu steuern und dem Host den Status des Bandlaufwerks zu melden, wie sich für den Fachmann versteht.
  • [0052]
    Im Rest dieses Dokuments wird eine Speichereinheit für codierte Bänder beschrieben. Die hierin beschriebenen Ausführungsformen und Ansätze können jedoch auf verschiedene andere Kommunikationskanäle angewandt werden, die nicht ausdrücklich beschrieben werden, dem Fachmann aber bekannt sind. Das heißt, es wird angenommen, dass auf ein Magnetband geschriebene Daten Low-Density-Parity-Check-(LDPC)-Codewörter darstellen (hierin wird die LDPC-Codierung erläutert, doch für die Fehlerkorrektur-Codierung (FCC) können auch andere soft-decodierbare Codes verwendet werden, wie dem Fachmann bekannt).
  • [0053]
    Nun auf 4 Bezug nehmend, wird ein allgemeines Blockdiagramm zur Durchführung einer kombinierten Soft-Erkennung und Soft-Decodierung gezeigt, die im Kontext und in der Funktionalität einiger der hierin beschriebenen Ausführungsformen verwendbar ist. Sowohl der Soft-Detektor 402 als auch der Soft-Decoder 404 arbeiten mit Signalblöcken, deren Länge einer Codewort-Länge N entspricht. Mit anderen Worten, die Verarbeitung am Soft-Detektor 402 sowie am Soft-Decoder 404 wird blockweise durchgeführt. Die Codewort-Länge N kann auf jeden gewünschten Wert eingestellt sein, und in manchen Ausführungsformen kann sie etwa 2000 Bit, 4.000 Bit, 5.000 Bit oder in verschiedenen Verfahren größer oder kleiner sein. In bevorzugten Ansätzen kann die Codewort-Länge N kleiner als etwa 10.000 Bit sein.
  • [0054]
    Der Soft-Detektor 402 nimmt an seinem Eingang (d. h., nach der Entzerrung, Verstärkungseinstellung und Zeitsteuerung) die mit yk 406 bezeichneten Rücklesesignalabtastwerte und stellt an seinem Ausgang Soft-Information 408 (die als Zuverlässigkeitsinformation betrachtet werden kann) über die auf dem Band-Datenträger geschriebenen (codierten) Einzelbits bereit. In einem Ansatz kann ein beliebiger von einer Anzahl von Algorithmen, die auf dem Fachgebiet bekannt sind, im Soft-Detektor 402 realisiert sein, zum Beispiel der Bahl-Cocke-Jelinek-Raviv(BCJR)-, der Dual-MAX(DMAX)- und/oder der Sliding-Window-DMAX(SW-DMAX)-Algorithmus. Tatsächlich ist jeder Soft-Erkennungsalgorithmus, der einen Vorwärtslauf und einen Rückwärtslauf beinhaltet (mehr darüber weiter unten), relevant und kann in den hierin beschriebenen Ausführungsformen und Ansätzen verwendet werden. Die Ausführungsformen, die hierin beschrieben werden, verwenden eine DMAX- und SW-DMAX-Erkennung, doch jede Erkennung kann verwendet werden.
  • [0055]
    Zusätzlich kann der Soft-Detektor 402 vom Soft-Decoder 404 erzeugte Soft-Information 410 verwenden. Diese Soft-Information 410 kann A-priori-Wahrscheinlichkeiten dafür einschließen, dass ein Bit eine 0 oder eine 1 ist. Beim ersten Durchlauf ist die A-priori-Wahrscheinlichkeit dafür, dass ein Bit eine 0 oder eine 1 ist, 1/2, d. h., es besteht eine gleiche Wahrscheinlichkeit dafür, dass ein Bit eines von beiden Symbolen ist. Nachdem der Soft-Decoder 404 mindestens eine Iteration durchgeführt hat, können unter Verwendung von Algorithmen, die auf dem Fachgebiet bekannt sind, A-priori-Wahrscheinlichkeiten berechnet werden.
  • [0056]
    Der Soft-Decoder 404 nimmt die vom Soft-Detektor 402 berechnete Soft-Information 408 und führt eine Decodierung wie z. B. die LDPC-Decodierung durch. Diese Operation wird durchgeführt, indem der Summe-Produkt-Algorithmus (SPA) angewandt wird, oder durch Verwenden vereinfachter Versionen des SPA. Diese Algorithmen stellen iterative Decodierungsverfahren dar, das heißt, durch Erhöhen der Zahl der Iterationen ist es möglich, die Fehlerrate am Ausgang des Soft-Decoders 404 zu reduzieren. Der Realisierungsaufwand des SPA und seiner Varianten kann in einigen Ansätzen erheblich sein. Die Tatsache, dass die LDPC-Decodierung iterativ durchgeführt wird, ist hierbei nicht direkt problematisch, wichtig ist jedoch die Tatsache, dass Iterationen auch zwischen dem Soft-Decoder 404 und dem Soft-Detektor 402 stattfinden. Dies wird im Folgenden ausführlicher erläutert.
  • [0057]
    Wie in 4 gezeigt, verfügt der Soft-Decoder 404, nachdem er seine Operationen abgeschlossen hat, über Soft-Information 410 über die einzelnen Codewort-Symbole, die als A-priori-Wahrscheinlichkeiten dafür beschrieben werden können, dass die Codewort-Symbole eine 0 oder eine 1 sind. Diese Soft-Information 410 weicht allgemein von der Soft-Information 408 ab, die vom Soft-Detektor 402 an den Soft-Decoder 404 weitergeleitet wurde. Deshalb führt der Soft-Decoder 404 seine eigene Soft-Information 410 zum Soft-Decoder 402 zurück, damit der Soft-Decoder 402 denselben Datenblock mindestens noch einmal neu erkennen kann. Bei der zweiten Erkennung kann die vom Soft-Decoder 404 bereitgestellte Soft-Information 410 in der Erkennung genutzt werden. Dann übergibt der Soft-Detektor 402 den neuen Satz Soft-Information 408 an den Soft-Decoder 404, der erneut versucht, dieselbe Codewort-Information zu decodieren. Diese iterative Decodierungs-/Erkennungsprozedur kann abhängig von einem gewünschten Leistungsniveau und einer akzeptablen Latenz für die Erkennungs-/Decodierungsoperation einmal, zweimal oder mehrmals wiederholt werden.
  • [0058]
    Wie oben angegeben, beinhalten die Erkennungsoperationen einen Vorwärtsberechnungsschritt und einen Rückwärtsberechnungsschritt. Diese Schritte kann man sich als Ausführung einer Viterbi-Algorithmus-artigen Berechnung an einem Kanal-Trellis vor- und rückwärts in der Zeit vorstellen. Das Grundprinzip gemäß einer Ausführungsform wird in 5 veranschaulicht.
  • [0059]
    In 5 wird angenommen, dass am Soft-Detektor ein Codewort mit einem Block aus N Signalabtastwerten y1, ..., yN empfangen wird. Das obere Diagramm 502 zeigt einen Teil des Algorithmus, der vorwärts in der Zeit angewandt wird und zur Veranschaulichung ein einfaches Trellis mit 4 Zuständen annimmt; Zustandswerte am Anfangszeitpunkt 0 sind mit S0 bezeichnet, und Zustandswerte am Endzeitpunkt N sind mit SN bezeichnet. Der Vorwärtsalgorithmus berechnet einen Satz von Werten, die mit α0, α1, ..., αN bezeichnet sind. Das mittlere Diagramm 504 zeigt den Rückwärtslauf, bei dem die Größen βN, ...., β2, β1 auf demselben Trellis berechnet werden. Das untere Diagramm 506 zeigt, dass es durch Kombinieren der in den Vorwärts- und Rückwärtsläufen erhaltenen Werte (α0, α1, ..., αN und β1, β2, ..., βN) möglich ist, Soft-Information (die als ein logarithmischer Wahrscheinlichkeitsquotient LLR gezeigt wird) über die Einzelbits ak zu berechnen, aus denen das verarbeitete Codewort zusammengesetzt ist. Diese LLR-Werte können dann in einer Ausführungsform an den Soft-Decoder übergeben werden. Natürlich kann in anderen Ansätzen andere Soft-Information berechnet werden, wie z. B. andere Wahrscheinlichkeitsberechnungen, wie dem Fachmann bekannt ist.
  • [0060]
    Es ist leicht zu ersehen, dass die effiziente Realisierung des Soft-Erkennungs-/Soft-Decodierungssystems, das Bezug nehmend auf 4 bis 5 beschrieben wird, bei hohen Datenraten und/oder bei Codes mit mittleren bis langen Codewort-Längen erhebliche Herausforderungen stellt. Ein wichtiger Engpass ist auf die Rückführung von Soft-Information vom Soft-Decoder an den Soft-Detektor zurückzuführen. Dies führt zu strengen Anforderungen, einschließlich der Notwendigkeit extrem hoher Schaltungsgeschwindigkeiten. Ein weiteres Problem ist die Speicherung und Zwischenspeicherung von Signalen, die in jedem vom Soft-Detektor und Soft-Decoder für die aufeinanderfolgenden Iterationsschritte verwendet werden. Insgesamt wäre eine effiziente architektonische Lösung, die auch die korrekte Zeitplanung der verschiedenen Erkennungs-/Decodierungsschritte vorwegnimmt und ermöglicht, sehr vorteilhaft.
  • [0061]
    Bei den Verfahren gemäß verschiedenen Ausführungsformen, die im Folgenden beschrieben werden, wird angenommen, dass der Soft-Detektor zweimal verwendet wird: Einmal in einem ersten (anfänglichen) Durchlauf nach Empfang der Eingangssignal-Abtastwerte, bei welchem die Erkennung keine Verwendung einer Rückführung vom Soft-Decoder einschließt, und ein weiteres Mal in einem zweiten Durchlauf, bei welchem vom Soft-Decoder bereitgestellte Soft-Information zur Erkennung des Datenblocks genutzt wird. Daher kann die Soft-Erkennung in einer Ausführungsform vier Hardware-Engines (oder Software-Engines, Hardware-Engines werden aber bevorzugt) erfordern. Diese vier Hardware-Engines schließen, ohne darauf beschränkt zu sein, FL0: Vorwärtsschleife 0, RL0: Rückwärtsschleife 0, FL1: Vorwärtsschleife 1 und RL1: Rückwärtsschleife 1 ein, wie in 6A, 6B, 7, 9 und 10 gezeigt.
  • [0062]
    FL0 und RL0 können also verwendet werden, um die Erkennung im ersten Durchlauf durchzuführen, und FL1 und RL1 werden verwendet, um die Erkennung im zweiten Durchlauf durchzuführen. Zusätzlich wird angenommen, dass nur eine Soft-Decodierungs-Engine verwendet wird (die eine LPDC-Decodierungs-Engine ist, da der Flächenbedarf für einen Summen-Produkt-Decoder ziemlich groß sein kann und daher vermieden werden sollte).
  • [0063]
    In den Ausführungsformen, die in 6A, 6B und 7 beschrieben werden, verwendet der Soft-Decoder einen DMAX-Erkennungsalgorithmus. In den Ausführungsformen, die in 8 und 9 beschrieben werden, verwendet der Soft-Decoder einen SW-DMAX-Erkennungsalgorithmus. Wie auf dem Fachgebiet bekannt ist, können natürlich andere Erkennungsalgorithmen verwendet werden, doch um die Ausführungsformen an die Zeitsteuerung des verwendeten Erkennungsalgorithmus anzupassen, können Anpassungen und/oder Modifikationen erforderlich sein, die vom Fachmann nach dem Durchlesen der vorliegenden Beschreibungen bestimmt werden können.
  • [0064]
    Nun auf 6A Bezug nehmend, wird eine Ausführungsform des Soft-Erkennungs-/Soft-Decodierungssystems gezeigt. Während eines Zeitintervalls t1, das der Verwendung der Hardware-Engine FL0 entspricht, wird der Vorwärtserkennungsalgorithmus an einem Block von Kanalsignal-Abtastwerten ausgeführt, der hierin als y (1) / 1, ..., y (1) / N bezeichnet ist. Am Ende des Zeitintervalls t1 kann dieselbe Hardware-Engine FL0 verwendet werden, um während eines Zeitintervalls t2 (die Dauer von t2 entspricht der von t1) den nächsten Block von N Signalabtastwerten y (2) / 1, ..., y (2) / N zu verarbeiten. Während t2 werden auch die folgenden Operationen der Reihe nach durchgeführt: (a) ein Rückwärtslauf des Erkennungsalgorithmus wird am Datenblock y (1) / 1, ..., y (1) / N ausgeführt, wie durch das Zeitintervall angegeben, das RLO entspricht (die Dauer dieses Zeitintervalls entspricht einem Viertel (1/4) von t2); (b) eine erste Decodierung wird vom Soft-Decoder LDPC durchgeführt (das Zeitintervall entspricht einem Achtel (1/8) von t2); (c) ein zweiter Vorwärtslauf wird vom Erkennungsalgorithmus am Datenblock y (1) / 1, ..., y (1) / N ausgeführt, wie durch das Zeitintervall angegeben, das FL1 entspricht (das Zeitintervall entspricht einem Viertel (1/4) von t2); (d) der Rückwärtslauf des Erkennungsalgorithmus wird erneut am Datenblock y (1) / 1, ..., y (1) / N ausgeführt, wie durch das Zeitintervall angegeben, das RL0 entspricht (das Zeitintervall entspricht einem Viertel (1/4) von t2); und (e) eine zweite Decodierung wird vom Soft-Decoder LDPC durchgeführt (das Zeitintervall entspricht einem Achtel (1/8) von t2); Wie in 6B gezeigt, umfasst das System in dieser Ausführungsform zwei Vorwärts-Engines (FL0 und FL1), eine Rückwärts-Engine (RL0), zwei Puffer, geeignet, um y (1) / 1, ..., y (1) / N und y (2) / 1, ..., y (2) / N zu speichern, zwei Puffer, geeignet, um verzweigungsmetrische Berechnungen zu speichern, und eine LDPC-Hardware-Engine. Dieses System benötigt oder schließt keine Hardware-Engine RL1 ein, da die RL0-Engine während des Zeitintervalls t2 an verschiedenen Zeitpunkten für Rückwärtsschleifen 0 und 1 verwendet werden kann.
  • [0065]
    Das Zeitintervall für FL1 ist kürzer als das für FL0, da einige Größen, die während FL0 berechnet wurden, während FL1 wiederverwendet werden können, wie weiter unten ausführlicher erläutert. Dementsprechend ist das Zeitintervall zur Ausführung von RL0 kleiner als das Zeitintervall für FL0, da einige Größen, die während FL0 berechnet werden, während RL0 wiederverwendet werden können.
  • [0066]
    Bezug nehmend auf 4 und 6A, kann ein Bandlaufwerkssystem 400 in einer Ausführungsform zum Beispiel einen Soft-Detektor 402 und einen Soft-Decoder 404 aufweisen. Der Soft-Detektor 402 kann Logik umfassen, die in einer ersten Hardware-Engine FL0 realisiert ist, geeignet, um während eines ersten Zeitintervalls t1 eine erste Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten 406 (y (1) / 1, ..., y (1) / N) auszuführen, Logik, die in einer zweiten Hardware-Engine RL0 realisiert ist, geeignet, um während eines zweiten Zeitintervalls (ein erstes Viertel (1/4) von t2, durch RL0 angegeben) eine erste Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen und während eines fünften Zeitintervalls (ein drittes Viertel (1/4) von t2, durch RL0 angegeben) eine zweite Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, und Logik, die in einer vierten Hardware-Engine FL1 realisiert ist, geeignet, um während eines vierten Zeitintervalls (ein erstes Achtel (1/8) von t2, durch FL1 angegeben) unter Verwendung einer zweiten Soft-Information eine zweite Vorwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen. Der Soft-Detektor 402 übergibt eine erste Soft-Information 408 auf der Grundlage der Ausführung der ersten Vorwärts- und Rückwärtsschleife an den Soft-Decoder 404, und der Soft-Detektor 402 übergibt eine dritte Soft-Information 408 auf der Grundlage der Ausführung der zweiten Vorwärts- und Rückwärtsschleife an den Soft-Decoder 404.
  • [0067]
    Der Soft-Decoder 404 umfasst Logik, die in einer dritten Hardware-Engine LDPC realisiert ist, geeignet, um während eines dritten Zeitintervalls (ein erstes Achtel (1/8) von t2, durch LDPC angegeben) unter Verwendung der ersten Soft-Information 408 einen Decodierungsalgorithmus am ersten Block auszuführen, und während eines sechsten Zeitintervalls (ein zweites Achtel (1/8) von t2, durch LDPC angegeben) unter Verwendung der dritten Soft-Information 408 den Decodierungsalgorithmus am ersten Block auszuführen. Der Soft-Decoder 404 erzeugt die zweite Soft-Information 410 auf der Grundlage der Ausführung des Decodierungsalgorithmus während des dritten Zeitintervalls.
  • [0068]
    Das System 400 weist auch Logik auf, geeignet, um auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des sechsten Zeitintervalls einen ersten decodierten Block von Signalabtastwerten 412 auszugeben. Zudem entspricht eine Summe des zweiten, dritten, vierten, fünften und sechsten Zeitintervalls (gleich t2) etwa der Dauer des ersten Zeitintervalls t1.
  • [0069]
    Einer anderen Ausführungsform gemäß kann die erste Hardware-Engine FL0 die erste Vorwärtsschleife des Erkennungsalgorithmus gleichzeitig (bei Ablauf von) mit den zweiten, dritten, vierten, fünften und sechsten Zeitintervallen (zusammengenommen t2) an einem zweiten Block von Signalabtastwerten ausführen, z. B., die erste Hardware-Engine FL0 kann während t2 einen zweiten Block von Signalabtastwerten verarbeiten, wie in 6A gezeigt.
  • [0070]
    In einem weiteren Beispiel entspricht das zweite Zeitintervall (für RL0) etwa einem Viertel (1/4) des ersten Zeitintervalls t1 (für FL0) und tritt unmittelbar nach dem ersten Zeitintervall t1 ein, entspricht das dritte Zeitintervall (für LDPC) etwa einem Achtel (1/8) des ersten Zeitintervalls t1 und tritt unmittelbar nach dem zweiten Zeitintervall ein, entspricht das vierte Zeitintervall (für FL1) etwa einem Viertel (1/4) des ersten Zeitintervalls t1 und tritt unmittelbar nach dem dritten Zeitintervall ein, entspricht das fünfte Zeitintervall (für RL0) etwa einem Viertel (1/4) des ersten Zeitintervalls t1 und tritt unmittelbar nach dem vierten Zeitintervall ein, und entspricht das sechste Zeitintervall (für LDPC) etwa einem Achtel (1/8) des ersten Zeitintervalls t1 und tritt unmittelbar nach dem fünften Zeitintervall ein.
  • [0071]
    In einer anderen Ausführungsform kann das Bandantriebssystem auch umfassen einen Magnetkopf, einen Antriebsmechanismus, geeignet, um einen magnetischen Datenträger über den Magnetkopf zu führen, einen Controller, der mit dem Magnetkopf elektrisch verbunden ist, wobei der Controller geeignet ist, den Betrieb des Magnetkopfes zu steuern, Logik, geeignet, um die Signalabtastwerte über den Magnetkopf zu empfangen, und Pufferspeicher, geeignet, um zu speichern: den ersten Block von Signalabtastwerten (y (1) / 1, ..., y (1) / N), den zweiten Block von Signalabtastwerten (y (2) / 1, ..., y (2) / N), verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus, die dem ersten Block von Signalabtastwerten zugeordnet sind, und verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus, die dem zweiten Block von Signalabtastwerten zugeordnet sind. Die verzweigungsmetrischen Berechnungen können zur Berechnung der in den Vorwärts- und Rückwärtsläufen erhaltenen Werte (α0, α1, ..., aN und β1, β2, ..., βN) verwendet werden, wie in 5 detaillierter gezeigt.
  • [0072]
    Nun auf 7 Bezug nehmend, wird eine Ausführungsform eines Soft-Erkennungs-/Soft-Decodierungssystems gezeigt. In dieser Ausführungsform verwendet das System zwei Vorwärts-Engines (FL0 und FL1), zwei Rückwärts-Engines (RL0 und RL1), drei Puffer, geeignet, um y (1) / 1, ..., y (1) / N, y (2) / 1, ..., y (2) / N und y (3) / 1, ..., y (3) / N zu speichern, drei Puffer, geeignet, um verzweigungsmetrische Berechnungen zu speichern, und eine LDPC-Hardware-Engine. Wie zu sehen ist, sind die zeitlichen Anforderungen in dieser Ausführungsform für jede Engine im Vergleich zum in 6A bis 6B gezeigten System gelockert, doch werden eine zusätzliche Engine (RL1) sowie zusätzliche Puffer verwendet. Dieses Verfahren erfordert etwa 50% mehr Verarbeitungszeit als das in 6A bis 6B beschriebene Verfahren.
  • [0073]
    Einem Beispiel gemäß, wie in 4 und 7 gezeigt, kann ein Bandlaufwerkssystem 400 einen Soft-Detektor 402 und einen Soft-Decoder 404 aufweisen. Der Soft-Detektor 402 umfasst Logik, die in einer ersten Hardware-Engine FL0 realisiert ist, geeignet, um während eines ersten Zeitintervalls (als FL0 oben links in der oberen Sequenz gezeigt) eine erste Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten (y (1) / 1, ..., y (1) / N) auszuführen, Logik, die in einer zweiten Hardware-Engine RL0 realisiert ist, geeignet, um während eines zweiten Zeitintervalls (als das RLO benachbart zum FL0 der oberen Sequenz gezeigt) eine erste Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, Logik, die in einer vierten Hardware-Engine FL1 realisiert ist, geeignet, um während eines vierten Zeitintervalls (als das FL1 rechts vom ersten LDPC der oberen Sequenz gezeigt) unter Verwendung einer zweiten Soft-Information eine zweite Vorwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, und Logik, die in einer fünften Hardware-Engine RL1 realisiert ist, geeignet, um während eines fünften Zeitintervalls (als das RL1 benachbart zum ersten FL1 der oberen Sequenz gezeigt) unter Verwendung der zweiten Soft-Information eine zweite Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen. Der Soft-Detektor 402 übergibt eine erste Soft-Information 408 auf der Grundlage der Ausführung der ersten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am ersten Block an den Soft-Decoder 404, und der Soft-Detektor 402 übergibt eine dritte Soft-Information 408 auf der Grundlage der Ausführung der zweiten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am ersten Block an den Soft-Decoder 404.
  • [0074]
    Der Soft-Decoder 404 umfasst Logik, die in einer dritten Hardware-Engine LDPC realisiert ist, geeignet, um während eines dritten Zeitintervalls (als das erste LDPC in der oberen Sequenz gezeigt) unter Verwendung der ersten Soft-Information einen Decodierungsalgorithmus am ersten Block auszuführen, und während eines sechsten Zeitintervalls (als das zweite LDPC in der oberen Sequenz gezeigt) unter Verwendung der dritten Soft-Information den Decodierungsalgorithmus am ersten Block auszuführen. Der Soft-Decoder 404 erzeugt die zweite Soft-Information 410 auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des dritten Zeitintervalls.
  • [0075]
    Das System 400 weist auch Logik auf, geeignet, um auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des sechsten Zeitintervalls einen ersten decodierten Block von Signalabtastwerten 412 auszugeben. Eine Summe des zweiten, dritten, vierten, fünften und sechsten Zeitintervalls entspricht etwa der zweifachen Dauer des ersten Zeitintervalls, d. h., der Gesamtprozess nimmt etwa die dreifache Dauer des ersten Zeitintervalls (in 7 als FL0 gezeigt) in Anspruch.
  • [0076]
    In einem Ansatz kann das zweite Zeitintervall etwa einer Hälfte (1/2) des ersten Zeitintervalls entsprechen und unmittelbar nach dem ersten Zeitintervall eintreten, das dritte Zeitintervall kann etwa einem Viertel (1/4) des ersten Zeitintervalls entsprechen und unmittelbar nach dem zweiten Zeitintervall eintreten, das vierte Zeitintervall kann etwa einer Hälfte (1/2) des ersten Zeitintervalls entsprechen und unmittelbar nach dem dritten Zeitintervall eintreten, das fünfte Zeitintervall kann etwa einer Hälfte (1/2) des ersten Zeitintervalls entsprechen und unmittelbar nach dem vierten Zeitintervall eintreten, und das sechste Zeitintervall kann etwa einem Viertel (1/4) des ersten Zeitintervalls entsprechen und unmittelbar nach dem fünften Zeitintervall eintreten.
  • [0077]
    In einem anderen Ansatz kann die erste Hardware-Engine FL0 unmittelbar nach der Ausführung der ersten Vorwärtsschleife des Erkennungsalgorithmus am ersten Block (y (1) / 1, ..., y (1) / N) mit der Ausführung der ersten Vorwärtsschleife des Erkennungsalgorithmus an einem zweiten Block von Signalabtastwerten (y (2) / 1, ..., y (2) / N) beginnen, und die erste Hardware-Engine kann unmittelbar nach der Ausführung der ersten Vorwärtsschleife des Erkennungsalgorithmus am zweiten Block mit der Ausführung der ersten Vorwärtsschleife des Erkennungsalgorithmus an einem dritten Block von Signalabtastwerten (y (3) / 1, ..., y (3) / N) beginnen.
  • [0078]
    In einer weiteren Ausführungsform kann das Bandantriebssystem auch umfassen einen Magnetkopf, einen Antriebsmechanismus, geeignet, um einen magnetischen Datenträger über den Magnetkopf zu führen, einen Controller, der mit dem Magnetkopf elektrisch verbunden ist, wobei der Controller geeignet ist, den Betrieb des Magnetkopfes zu steuern, Logik, geeignet, um die Signalabtastwerte über den Magnetkopf zu empfangen, und Pufferspeicher, geeignet, um den ersten Block von Signalabtastwerten, den zweiten Block von Signalabtastwerten, den dritten Block von Signalabtastwerten, verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus, die dem ersten Block von Signalabtastwerten zugeordnet sind, verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus, die dem zweiten Block von Signalabtastwerten zugeordnet sind, und verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus zu speichern, die dem dritten Block von Signalabtastwerten zugeordnet sind.
  • [0079]
    Die in 9 bis 10 beschriebenen Ausführungsformen stützen sich auf einen SW-DMAX-Algorithmus. Der SW-DMAX-Algorithmus gemäß einer Ausführungsform wird in 8 kurz beschrieben.
  • [0080]
    Wie in 8 gezeigt, ist die Blockgröße N in sechs Teile aufgeteilt (N = 6L). Der Rückwärts-Algorithmus (BWD) wird an jedem kürzeren Block der Länge 2L ausgeführt, sobald die Ergebnisse des Vorwärts-Algorithmus (FWD) vorliegen. Die Rückwärtsschleifen-Ergebnisse für die erste Hälfte jedes Rückwärts-Algorithmus (z. B. von 2L bis L, von 3L bis 2L usw.) werden verworfen, und dann kann die Informationen, die im Rückwärts-Algorithmus in der zweiten Hälfte berechnet wurde, für die Berechnung von Soft-Information 802 (z. B. von L bis 1, von 2L bis L usw.) verwendet werden. Zur endgültigen Berechnung von 6L bis 4L wird die Soft-Information 802 über diesen gesamten Block der Länge 2L hinweg generiert.
  • [0081]
    Zu den Vorteilen des SW-DMAX-Algorithmus gegenüber dem DMAX-Algorithmus gehört ein Speicherbedarf, der von N unabhängig ist (er ist nur von L abhängig), und, dass keine Latenz vorhanden ist, die auf die Ausführungszeit des Rückwärtslaufs (BWD) zurückzuführen ist. Der Nachteil des SW-DMAX-Algorithmus ist, dass die Zahl der mathematischen Operationen für den Rückwärtslauf (BWD) im Wesentlichen verdoppelt wird.
  • [0082]
    Nun auf 9 Bezug nehmend, wird eine Ausführungsform eines Soft-Erkennungs-/Soft-Decodierungssystems gezeigt. In dieser Ausführungsform, die sich auf SW-DMAX stützt, können sowohl der Vorwärtslauf FL0 als auch der Rückwärtslauf RL0 des Erkennungsalgorithmus während des Zeitintervalls t1 ausgeführt werden (daher die Notation FL0 + RL0 und auch FL1 + RL1). In dieser Ausführungsform kann das System einer Ausführungsform gemäß zwei Vorwärts-Engines (FL0 und FL1), zwei Rückwärts-Engines (RL0 und RL1), eine LDPC-Hardware-Engine, zwei Puffer zum Speichern von y (1) / 1, ..., y (1) / N und y (2) / 1, ..., y (2) / N, und zwei Puffer zum Speichern von verzweigungsmetrischen Berechnungen verwenden. Es ist auch anzumerken, dass die Zeitzwänge im Vergleich zu der in 6A, 6B und 7 gezeigten Ausführungsform gelockert sind, da sowohl LDPC als auch FL1 + RL1 ein Zeitintervall von nur einem Drittel (1/3) von t2 verwenden.
  • [0083]
    In diesem Ansatz kann der Erkennungsalgorithmus ein SW-DMAX-Algorithmus sein, und der Decodierungsalgorithmus kann ein LDPC-Decodierungsalgorithmus sein.
  • [0084]
    Einem Beispiel gemäß, wie in 4 und 9 gezeigt, weist ein Bandlaufwerkssystem 400 einen Soft-Detektor 402 und einen Soft-Decoder 404 auf. Der Soft-Detektor 402 umfasst Logik, die in einer ersten Hardware-Engine FL0 realisiert ist, geeignet, um während eines ersten Zeitintervalls t1 eine erste Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten auszuführen, Logik, die in einer zweiten Hardware-Engine RL0 realisiert ist, geeignet, um während des ersten Zeitintervalls t1 eine erste Rückwärtsschleife des Erkennungsalgorithmus am ersten Block von Signalabtastwerten auszuführen, um eine erste Soft-Information 408 zu erzeugen, Logik, die in einer dritten Hardware-Engine FL1 realisiert ist, geeignet, um während eines dritten Zeitintervalls (Teil des Zeitintervalls t2) eine zweite Vorwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, und Logik, die in einer vierten Hardware-Engine RL1 realisiert ist, geeignet, um während des dritten Zeitintervalls (der gleiche Teil des Zeitintervalls t2) eine zweite Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, um eine dritte Soft-Information 410 zu erzeugen.
  • [0085]
    Der Soft-Decoder 404 umfasst Logik, die in einer fünften Hardware-Engine LDPC realisiert ist, geeignet, um während eines zweiten Zeitintervalls (Teil des Zeitintervalls t2) unter Verwendung der ersten Soft-Information 408 einen Decodierungsalgorithmus am ersten Block auszuführen, um die zweite Soft-Information 410 zu erzeugen, und während eines vierten Zeitintervalls (Teil des Zeitintervalls t2) unter Verwendung der dritten Soft-Information 408 den Decodierungsalgorithmus am ersten Block auszuführen. Das System 400 schließt auch Logik ein, geeignet, um auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des vierten Zeitintervalls unter Verwendung der dritten Soft-Information einen ersten decodierten Block von Signalabtastwerten 412 auszugeben. Eine Summe der zweiten, dritten und vierten Zeitintervalle entspricht etwa der Dauer des ersten Zeitintervalls t1, d. h., die zweiten, dritten und vierten Zeitintervalle machen t2 aus.
  • [0086]
    In einem Ansatz, wie in 9 gezeigt, kann das zweite Zeitintervall (als das linke LDPC gezeigt) etwa einem Drittel (1/3) des ersten Zeitintervalls t1 entsprechen und unmittelbar nach dem ersten Zeitintervall t1 eintreten, kann das dritte Zeitintervall (als FL1 + RL1 gezeigt) etwa einem Drittel (1/3) des ersten Zeitintervalls t1 entsprechen und unmittelbar nach dem ersten Zeitintervall eintreten, und kann das vierte Zeitintervall (als das rechte LDPC gezeigt) etwa einem Drittel (1/3) des ersten Zeitintervalls t1 entsprechen und unmittelbar nach dem dritten Zeitintervall eintreten.
  • [0087]
    In einem weiteren Ansatz kann die erste Hardware-Engine FL0 die erste Vorwärtsschleife ausführen, und die zweite Hardware-Engine RL0 kann die erste Rückwärtsschleife des Erkennungsalgorithmus gleichzeitig mit dem zweiten, dritten und vierten Zeitintervall (z. B. während t2) an einem zweiten Block von Signalabtastwerten (y (2) / 1, ..., y (2) / N) ausführen.
  • [0088]
    In einer weiteren Ausführungsform kann das System umfassen einen Magnetkopf, einen Antriebsmechanismus, geeignet, um einen magnetischen Datenträger über den Magnetkopf zu führen, einen Controller, der mit dem Magnetkopf elektrisch verbunden ist, wobei der Controller geeignet ist, den Betrieb des Magnetkopfes zu steuern, Logik, geeignet, um die Signalabtastwerte über den Magnetkopf zu empfangen, und Pufferspeicher, geeignet, um den ersten Block von Signalabtastwerten, den zweiten Block von Signalabtastwerten, verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus, die dem ersten Block von Signalabtastwerten zugeordnet sind, und verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus zu speichern, die dem zweiten Block von Signalabtastwerten zugeordnet sind.
  • [0089]
    Nun auf 10 Bezug nehmend, wird eine weitere Ausführungsform eines Soft-Erkennungs-/Soft-Decodierungssystems gezeigt. In dieser Ausführungsform, die auf SW-DMAX gestützt ist, können sowohl der Vorwärtslauf FL0 als auch der Rückwärtslauf RL0 des Erkennungsalgorithmus während eines einzigen Zeitintervalls t dreimal ausgeführt werden. Dann kann die LDPC-Engine eine Decodierung durchführen, um Soft-Information zur Verwendung im zweiten Vorwärtslauf FL1 und Rückwärtslauf RL1 des Erkennungsalgorithmus zu erzeugen. Dies kann dann während des Zeitintervalls t für ein zweites Codewort wiederholt werden. Diese Ausführungsform kann zwei Vorwärts-Engines (FL0 und FL1), zwei Rückwärts-Engines (RL0 und RL1), eine LDPC-Hardware-Engine, drei Puffer zum Speichern von y (1) / 1, ..., y (1) / N, y (2) / 1, ..., y (2) / N und y (3) / 1, ..., y (3) / N, und drei zum Speichern von verzweigungsmetrischen Berechnungen geeignete Puffer verwenden. Es ist anzumerken, dass die Zeitzwänge im Vergleich zum in 9 beschriebenen Verfahren hier weiter gelockert sind.
  • [0090]
    Nun auf 4 und 10 Bezug nehmend, kann ein Bandlaufwerkssystem 400 einem Beispiel gemäß einen Soft-Detektor 402 und einen Soft-Decoder 404 aufweisen. Der Soft-Detektor 402 umfasst Logik, die in einer ersten Hardware-Engine FL0 realisiert ist, geeignet, um während eines ersten Zeitintervalls (als das linke FL0 + RL0 gezeigt) eine erste Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten auszuführen, Logik, die in einer zweiten Hardware-Engine RL0 realisiert ist, geeignet, um während des ersten Zeitintervalls FL0 + RL0 eine erste Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, Logik, die in einer vierten Hardware-Engine FL1 realisiert ist, geeignet, um während eines dritten Zeitintervalls unter Verwendung einer zweiten Soft-Information 410 eine zweite Vorwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, und Logik, die in einer fünften Hardware-Engine RL1 realisiert ist, geeignet, um während des dritten Zeitintervalls unter Verwendung der zweiten Soft-Information 410 eine zweite Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen. Der Soft-Detektor 402 übergibt eine erste Soft-Information 408 auf der Grundlage der Ausführung der ersten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am ersten Block FL0 + RL0 an den Soft-Decoder 404. Der Soft-Detektor 402 übergibt auch eine dritte Soft-Information 408 auf der Grundlage der Ausführung der zweiten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am ersten Block FL1 + RL1 an den Soft-Decoder 404.
  • [0091]
    Der Soft-Decoder 404 umfasst Logik, die in einer dritten Hardware-Engine LDPC realisiert ist, geeignet, um während eines zweites Zeitintervalls (als das linke LDPC in der oberen Sequenz gezeigt) unter Verwendung der ersten Soft-Information einen Decodierungsalgorithmus am ersten Block auszuführen, und während eines vierten Zeitintervalls (als das mittlere LDPC in der oberen Sequenz gezeigt) unter Verwendung der dritten Soft-Information den Decodierungsalgorithmus am ersten Block auszuführen. Der Soft-Decoder 404 erzeugt auch die zweite Soft-Information 410 auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des zweiten Zeitintervalls. Das System 400 weist auch Logik auf, geeignet, um auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des vierten Zeitintervalls einen ersten decodierten Block von Signalabtastwerten 412 auszugeben. Eine Summe der zweiten, dritten und vierten Zeitintervalle entspricht etwa der zweifachen Dauer des ersten Zeitintervalls.
  • [0092]
    In einem weiteren Ansatz kann das zweite Zeitintervall (als das linke LDPC in der oberen Sequenz gezeigt) etwa einer Hälfte (1/2) des ersten Zeitintervalls (als das linke FL0 + RL0 in der oberen Sequenz gezeigt) entsprechen und tritt unmittelbar nach dem ersten Zeitintervall ein, das dritte Zeitintervall (als das linke FL1 + RL1 in der oberen Sequenz gezeigt) kann etwa dem ersten Zeitintervall entsprechen und tritt unmittelbar nach dem zweiten Zeitintervall ein, und das vierte Zeitintervall (als das mittlere LDPC in der oberen Sequenz gezeigt) kann etwa einer Hälfte (1/2) des ersten Zeitintervalls entsprechen und tritt unmittelbar nach dem dritten Zeitintervall ein.
  • [0093]
    In einem anderen Ansatz kann die erste Hardware-Engine (FL0 in der mittleren Sequenz) mit der Ausführung der ersten Vorwärtsschleife beginnen, und die zweite Hardware-Engine (RL0 in der mittleren Sequenz) kann unmittelbar nach der Ausführung der ersten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am ersten Block (FL0 + RL0 in der oberen Sequenz) mit der Ausführung der ersten Rückwärtsschleife des Erkennungsalgorithmus an einem zweiten Block von Signalabtastwerten beginnen, und die erste Hardware-Engine (FL0 in der unteren Sequenz) kann mit der Ausführung der ersten Vorwärtsschleife beginnen, und die zweite Hardware-Engine (RL0 in der unteren Sequenz) kann unmittelbar nach der Ausführung der ersten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am zweiten Block mit der Ausführung der ersten Rückwärtsschleife des Erkennungsalgorithmus an einem dritten Block von Signalabtastwerten beginnen.
  • [0094]
    In einer weiteren Ausführungsform kann das System umfassen einen Magnetkopf, einen Antriebsmechanismus, geeignet, um einen magnetischen Datenträger über den Magnetkopf zu führen, einen Controller, der mit dem Magnetkopf elektrisch verbunden ist, wobei der Controller geeignet ist, den Betrieb des Magnetkopfes zu steuern, Logik, geeignet, um die Signalabtastwerte über den Magnetkopf zu empfangen, und Pufferspeicher, geeignet, um den ersten Block von Signalabtastwerten, den zweiten Block von Signalabtastwerten, den dritten Block von Signalabtastwerten, verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus, die dem ersten Block von Signalabtastwerten zugeordnet sind, verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus, die dem zweiten Block von Signalabtastwerten zugeordnet sind, und verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus, die dem dritten Block von Signalabtastwerten zugeordnet sind, zu speichern.
  • [0095]
    In einem Ansatz kann der Erkennungsalgorithmus ein SW-DMAX-Algorithmus sein, und der Decodierungsalgorithmus kann einen LDPC-Decodierungsalgorithmus aufweisen.
  • [0096]
    11 veranschaulicht ein Verfahren 1100 gemäß einer Ausführungsform. Als Option kann das vorliegende Verfahren 1100 im Kontext der Funktionalität und Architektur von 1 bis 10 realisiert sein. Das Verfahren 1100 kann jedoch in jeder gewünschten Umgebung durchgeführt werden. Es ist anzumerken, dass die vorstehenden Definitionen während der vorliegenden Beschreibung gelten können, und dass das Verfahren 1100 verschiedenen Ausführungsformen gemäß mehr oder weniger Schritte als die hierin beschriebenen einschließen kann.
  • [0097]
    In einer Ausführungsform beginnt das Verfahren 1100 bei Operation 1102, wo während eines ersten Zeitintervalls eine erste Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten ausgeführt wird.
  • [0098]
    In Operation 1104 wird während eines zweiten Zeitintervalls eine erste Rückwärtsschleife des Erkennungsalgorithmus am ersten Block ausgeführt, um eine erste Soft-Information zu erzeugen.
  • [0099]
    In Operation 1106 wird während eines dritten Zeitintervalls unter Verwendung der ersten Soft-Information ein Decodierungsalgorithmus am ersten Block ausgeführt, um eine zweite Soft-Information zu erzeugen.
  • [0100]
    In Operation 1108 wird während eines vierten Zeitintervalls unter Verwendung der zweiten Soft-Information eine zweite Vorwärtsschleife des Erkennungsalgorithmus am ersten Block ausgeführt.
  • [0101]
    In Operation 1110 wird während eines fünften Zeitintervalls eine zweite Rückwärtsschleife des Erkennungsalgorithmus am ersten Block ausgeführt, um eine dritte Soft-Information zu erzeugen.
  • [0102]
    In Operation 1112 wird während eines sechsten Zeitintervalls unter Verwendung der dritten Soft-Information der Decodierungsalgorithmus am ersten Block ausgeführt, um einen ersten decodierten Block von Signalabtastwerten zu erzeugen.
  • [0103]
    In Operation 1114 wird der erste decodierte Block von Signalabtastwerten ausgegeben, z. B. durch Senden, Übertragen, Anzeigen oder Speichern des ersten decodierten Blocks von Signalabtastwerten, wie dem Fachmann bekannt.
  • [0104]
    Einer Ausführungsform gemäß entspricht eine Summe des zweiten, dritten, vierten, fünften und sechsten Zeitintervalls etwa der Dauer des ersten Zeitintervalls, kann das zweite Zeitintervall unmittelbar nach dem ersten Zeitintervall eintreten, kann das dritte Zeitintervall unmittelbar nach dem zweiten Zeitintervall eintreten, kann das vierte Zeitintervall unmittelbar nach dem dritten Zeitintervall eintreten, kann das fünfte Zeitintervall unmittelbar nach dem vierten Zeitintervall eintreten, und kann das sechste Zeitintervall unmittelbar nach dem fünften Zeitintervall eintreten.
  • [0105]
    In einer weiteren Ausführungsform kann das Verfahren 1100 außerdem ein Ausführen der ersten Vorwärtsschleife des Erkennungsalgorithmus an einem zweiten Block von Signalabtastwerten gleichzeitig mit dem zweiten, dritten, vierten, fünften und sechsten Zeitintervall aufweisen.
  • [0106]
    Einer weiteren Ausführungsform gemäß kann eine Summe des zweiten, dritten, vierten, fünften und sechsten Zeitintervalls etwa der zweifachen Dauer des ersten Zeitintervalls entsprechen, kann das zweite Zeitintervall unmittelbar nach dem ersten Zeitintervall eintreten, kann das dritte Zeitintervall unmittelbar nach dem zweiten Zeitintervall eintreten, kann das vierte Zeitintervall unmittelbar nach dem dritten Zeitintervall eintreten, kann das fünfte Zeitintervall unmittelbar nach dem vierten Zeitintervall eintreten, und kann das sechste Zeitintervall unmittelbar nach dem fünften Zeitintervall eintreten.
  • [0107]
    In einer weiteren Ausführungsform kann das Verfahren 1100 außerdem ein Ausführen der ersten Vorwärtsschleife des Erkennungsalgorithmus an einem zweiten Block von Signalabtastwerten unmittelbar nach dem Ausführen der ersten Vorwärtsschleife des Erkennungsalgorithmus am ersten Block und ein Ausführen der ersten Vorwärtsschleife des Erkennungsalgorithmus an einem dritten Block von Signalabtastwerten unmittelbar nach dem Ausführen der ersten Vorwärtsschleife des Erkennungsalgorithmus am zweiten Block umfassen.
  • [0108]
    In einer weiteren Ausführungsform kann der Erkennungsalgorithmus ein DMAX- oder SW-DMAX-Erkennungsalgorithmus oder ein anderer auf dem Fachgebiet bekannter Erkennungsalgorithmus sein. Einer weiteren Ausführungsform gemäß kann der Decodierungsalgorithmus einen LDPC-Decodierungsalgorithmus oder jeder andere auf dem Fachgebiet bekannte Decodierungsalgorithmus sein, der für Signalabtastwerte geeignet ist.
  • [0109]
    Die Ablaufpläne und Blockschaltbilder in den Figuren veranschaulichen die Architektur, die Funktionalität und die Arbeitsweise möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern ein Codemodul, ein Codesegment oder einen Codeteil darstellen, der einen oder mehrere ausführbare Befehle zur Realisierung der spezifizierten logischen Funktion(en) aufweist. Es ist auch anzumerken, dass die in den Blöcken genannten Funktionen in alternativen Realisierungen in einer anderen Reihenfolge als der in der Figur genannten auftreten können. Zum Beispiel können zwei Blöcke, die aufeinanderfolgend dargestellt sind, tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können abhängig von der beteiligten Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Es ist auch anzumerken, dass jeder Block der Blockschaltbilder und/oder Ablaufpläne und Kombinationen von Blöcken in den Blockschaltbildern und/oder Ablaufplänen durch Systeme auf der Grundlage von Spezialhardware, die die spezifizierten Funktionen oder Vorgänge durchführen, oder durch Kombinationen von Spezialhardware und Computerbefehlen realisiert werden können.
  • [0110]
    Auch wenn oben verschiedene Ausführungsformen beschrieben wurden, versteht es sich, dass sie lediglich beispielhaft und nicht einschränkend sind. Daher sollte die Breite und der Umfang einer Ausführungsform der vorliegenden Erfindung nicht durch eine der oben beschriebenen beispielhaften Ausführungsformen eingeschränkt werden, sondern sollte nur den folgenden Ansprüchen und ihren Entsprechungen entsprechend definiert werden.

Claims (26)

  1. Bandlaufwerkssystem, aufweisend: einen Soft-Detektor, aufweisend: Logik, die in einer ersten Hardware-Engine realisiert ist, geeignet, um während eines ersten Zeitintervalls eine erste Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten auszuführen; Logik, die in einer zweiten Hardware-Engine realisiert ist, geeignet, um während eines zweiten Zeitintervalls eine erste Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen und während eines fünften Zeitintervalls eine zweite Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen; Logik, die in einer vierten Hardware-Engine realisiert ist, geeignet, um während eines vierten Zeitintervalls unter Verwendung einer zweiten Soft-Information eine zweite Vorwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, wobei der Soft-Detektor auf der Grundlage der Ausführung der ersten Vorwärts- und Rückwärtsschleife eine erste Soft-Information an einen Soft-Decoder übergibt, und wobei der Soft-Detektor auf der Grundlage der Ausführung der zweiten Vorwärts- und Rückwärtsschleife eine dritte Soft-Information an den Soft-Decoder übergibt; den Soft-Decoder, aufweisend: Logik, die in einer dritten Hardware-Engine realisiert ist, geeignet, um während eines dritten Zeitintervalls unter Verwendung der ersten Soft-Information einen Decodierungsalgorithmus am ersten Block auszuführen und während eines sechsten Zeitintervalls unter Verwendung der dritten Soft-Information den Decodierungsalgorithmus am ersten Block auszuführen, wobei der Soft-Decoder auf der Grundlage der Ausführung des Decodierungsalgorithmus während des dritten Zeitintervalls die zweite Soft-Information erzeugt; und Logik, geeignet, um auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des sechsten Zeitintervalls einen ersten decodierten Block von Signalabtastwerten auszugeben, wobei eine Summe des zweiten, dritten, vierten, fünften und sechsten Zeitintervalls etwa der Dauer des ersten Zeitintervalls entspricht.
  2. Bandlaufwerkssystem nach Anspruch 1, wobei das zweite Zeitintervall etwa einem Viertel (1/4) des ersten Zeitintervalls entspricht und unmittelbar nach dem ersten Zeitintervall eintritt, wobei das dritte Zeitintervall etwa einem Achtel (1/8) des ersten Zeitintervalls entspricht und unmittelbar nach dem zweiten Zeitintervall eintritt, wobei das vierte Zeitintervall etwa einem Viertel (1/4) des ersten Zeitintervalls entspricht und unmittelbar nach dem dritten Zeitintervall eintritt, wobei das fünfte Zeitintervall etwa einem Viertel (1/4) des ersten Zeitintervalls entspricht und unmittelbar nach dem vierten Zeitintervall eintritt, und wobei das sechste Zeitintervall etwa einem Achtel (1/8) des ersten Zeitintervalls entspricht und unmittelbar nach dem fünften Zeitintervall eintritt.
  3. Bandlaufwerkssystem nach Anspruch 1, wobei die erste Hardware-Engine die erste Vorwärtsschleife des Erkennungsalgorithmus gleichzeitig mit dem zweiten, dritten, vierten, fünften und sechsten Zeitintervall an einem zweiten Block von Signalabtastwerten ausführt.
  4. Bandlaufwerkssystem nach Anspruch 3, außerdem aufweisend: einen Magnetkopf; einen Antriebsmechanismus, geeignet, um einen magnetischen Datenträger über den Magnetkopf zu führen; einen Controller, der mit dem Magnetkopf elektrisch verbunden ist, wobei der Controller geeignet ist, den Betrieb des Magnetkopfes zu steuern; Logik, geeignet, um die Signalabtastwerte über den Magnetkopf zu empfangen; und Pufferspeicher, geeignet, um zu speichern: den ersten Block von Signalabtastwerten; den zweiten Block von Signalabtastwerten; verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus, die dem ersten Block von Signalabtastwerten zugeordnet sind; und verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus, die dem zweiten Block von Signalabtastwerten zugeordnet sind.
  5. Bandlaufwerkssystem, aufweisend: einen Soft-Detektor, aufweisend: Logik, die in einer ersten Hardware-Engine realisiert ist, geeignet, um während eines ersten Zeitintervalls eine erste Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten auszuführen; Logik, die in einer zweiten Hardware-Engine realisiert ist, geeignet, um während des ersten Zeitintervalls eine erste Rückwärtsschleife des Erkennungsalgorithmus am ersten Block von Signalabtastwerten auszuführen, um eine erste Soft-Information zu erzeugen; Logik, die in einer dritten Hardware-Engine realisiert ist, geeignet, um während eines dritten Zeitintervalls eine zweite Vorwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen; und Logik, die in einer vierten Hardware-Engine realisiert ist, geeignet, um während des dritten Zeitintervalls eine zweite Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, um eine dritte Soft-Information zu erzeugen; einen Soft-Decoder, der Logik aufweist, die in einer fünften Hardware-Engine realisiert ist, geeignet, um während eines zweiten Zeitintervalls unter Verwendung der ersten Soft-Information einen Decodierungsalgorithmus am ersten Block auszuführen, um die zweite Soft-Information zu erzeugen, und während eines vierten Zeitintervalls unter Verwendung der dritten Soft-Information den Decodierungsalgorithmus am ersten Block auszuführen; und Logik, geeignet, um auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des vierten Zeitintervalls unter Verwendung der dritten Soft-Information einen ersten decodierten Block von Signalabtastwerten auszugeben, wobei eine Summe der zweiten, dritten und vierten Zeitintervalle etwa der Dauer des ersten Zeitintervalls entspricht.
  6. Bandlaufwerkssystem nach Anspruch 5, wobei das zweite Zeitintervall etwa einem Drittel (1/3) des ersten Zeitintervalls entspricht und unmittelbar nach dem ersten Zeitintervall eintritt, wobei das dritte Zeitintervall etwa einem Drittel (1/3) des ersten Zeitintervalls entspricht und unmittelbar nach dem zweiten Zeitintervall eintritt, und wobei das vierte Zeitintervall etwa einem Drittel (1/3) des ersten Zeitintervalls entspricht und unmittelbar nach dem dritten Zeitintervall eintritt.
  7. Bandlaufwerkssystem nach Anspruch 5, wobei die erste Hardware-Engine die erste Vorwärtsschleife ausführt und die zweite Hardware-Engine gleichzeitig mit dem zweiten, dritten und vierten Zeitintervall die erste Rückwärtsschleife des Erkennungsalgorithmus an einem zweiten Block von Signalabtastwerten ausführt.
  8. Bandlaufwerkssystem nach Anspruch 7, außerdem aufweisend: einen Magnetkopf; einen Antriebsmechanismus, geeignet, um einen magnetischen Datenträger über den Magnetkopf zu führen; einen Controller, der mit dem Magnetkopf elektrisch verbunden ist, wobei der Controller geeignet ist, den Betrieb des Magnetkopfes zu steuern; Logik, geeignet, um die Signalabtastwerte über den Magnetkopf zu empfangen; und Pufferspeicher, geeignet, um zu speichern: den ersten Block von Signalabtastwerten; den zweiten Block von Signalabtastwerten; verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus, die dem ersten Block von Signalabtastwerten zugeordnet sind; und verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus, die dem zweiten Block von Signalabtastwerten zugeordnet sind.
  9. Bandlaufwerkssystem nach Anspruch 5, wobei der Erkennungsalgorithmus ein Sliding-Window-Dual-Max(SW-DMAX)-Algorithmus ist und der Decodierungsalgorithmus ein Low-Density-Parity-Check(LDPC)-Decodierungsalgorithmus ist.
  10. Bandlaufwerkssystem, aufweisend: einen Soft-Detektor, aufweisend: Logik, die in einer ersten Hardware-Engine realisiert ist, geeignet, um während eines ersten Zeitintervalls eine erste Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten auszuführen; Logik, die in einer zweiten Hardware-Engine realisiert ist, geeignet, um während eines zweiten Zeitintervalls eine erste Rückwärtsschleife des Erkennungsalgorithmus am ersten Block von Signalabtastwerten auszuführen; Logik, die in einer vierten Hardware-Engine realisiert ist, geeignet, um während eines vierten Zeitintervalls unter Verwendung einer zweiten Soft-Information eine zweite Vorwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen; und Logik, die in einer fünften Hardware-Engine realisiert ist, geeignet, um während eines fünften Zeitintervalls unter Verwendung der zweiten Soft-Information eine zweite Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, wobei der Soft-Detektor eine erste Soft-Information auf der Grundlage der Ausführung der ersten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am ersten Block an einen Soft-Decoder übergibt, und wobei der Soft-Detektor eine dritte Soft-Information auf der Grundlage der Ausführung der zweiten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am ersten Block an den Soft-Decoder übergibt; den Soft-Decoder, aufweisend: Logik, die in einer dritten Hardware-Engine realisiert ist, geeignet, um während eines dritten Zeitintervalls unter Verwendung der ersten Soft-Information einen Decodierungsalgorithmus am ersten Block auszuführen und während eines sechsten Zeitintervalls unter Verwendung der dritten Soft-Information den Decodierungsalgorithmus am ersten Block auszuführen, wobei der Soft-Decoder auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des dritten Zeitintervalls die zweite Soft-Information erzeugt; und Logik, geeignet, um auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des sechsten Zeitintervalls einen ersten decodierten Block von Signalabtastwerten auszugeben, wobei eine Summe des zweiten, dritten, vierten, fünften und sechsten Zeitintervalls etwa der zweifachen Dauer des ersten Zeitintervalls entspricht.
  11. Bandlaufwerkssystem nach Anspruch 10, wobei das zweite Zeitintervall etwa einer Hälfte (1/2) des ersten Zeitintervalls entspricht und unmittelbar nach dem ersten Zeitintervall eintritt, wobei das dritte Zeitintervall etwa einem Viertel (1/4) des ersten Zeitintervalls entspricht und unmittelbar nach dem zweiten Zeitintervall eintritt, wobei das vierte Zeitintervall etwa einer Hälfte (1/2) des ersten Zeitintervalls entspricht und unmittelbar nach dem dritten Zeitintervall eintritt, wobei das fünfte Zeitintervall etwa einer Hälfte (1/2) des ersten Zeitintervalls entspricht und unmittelbar nach dem vierten Zeitintervall eintritt, und wobei das sechste Zeitintervall etwa einem Viertel (1/4) des ersten Zeitintervalls entspricht und unmittelbar nach dem fünften Zeitintervall eintritt.
  12. Bandlaufwerkssystem nach Anspruch 10, wobei die erste Hardware-Engine unmittelbar nach der Ausführung der ersten Vorwärtsschleife des Erkennungsalgorithmus am ersten Block mit der Ausführung der ersten Vorwärtsschleife des Erkennungsalgorithmus an einem zweiten Block von Signalabtastwerten beginnt, und wobei die erste Hardware-Engine unmittelbar nach der Ausführung der ersten Vorwärtsschleife des Erkennungsalgorithmus am zweiten Block mit der Ausführung der ersten Vorwärtsschleife des Erkennungsalgorithmus an einem dritten Block von Signalabtastwerten beginnt.
  13. Bandlaufwerkssystem nach Anspruch 12, außerdem aufweisend: einen Magnetkopf; einen Antriebsmechanismus, geeignet, um einen magnetischen Datenträger über den Magnetkopf zu führen; einen Controller, der mit dem Magnetkopf elektrisch verbunden ist, wobei der Controller geeignet ist, den Betrieb des Magnetkopfes zu steuern; Logik, geeignet, um die Signalabtastwerte über den Magnetkopf zu empfangen; und Pufferspeicher, geeignet, um zu speichern: den ersten Block von Signalabtastwerten; den zweiten Block von Signalabtastwerten; den dritten Block von Signalabtastwerten; verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus, die dem ersten Block von Signalabtastwerten zugeordnet sind; verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus, die dem zweiten Block von Signalabtastwerten zugeordnet sind; und verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus, die dem dritten Block von Signalabtastwerten zugeordnet sind.
  14. Bandlaufwerkssystem, aufweisend: einen Soft-Detektor, aufweisend: Logik, die in einer ersten Hardware-Engine realisiert ist, geeignet, um während eines ersten Zeitintervalls eine erste Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten auszuführen; Logik, die in einer zweiten Hardware-Engine realisiert ist, geeignet, um während des ersten Zeitintervalls eine erste Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen; Logik, die in einer vierten Hardware-Engine realisiert ist, geeignet, um während eines dritten Zeitintervalls unter Verwendung einer zweiten Soft-Information eine zweite Vorwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen; und Logik, die in einer fünften Hardware-Engine realisiert ist, geeignet, um während des dritten Zeitintervalls unter Verwendung der zweiten Soft-Information eine zweite Rückwärtsschleife des Erkennungsalgorithmus am ersten Block auszuführen, wobei der Soft-Detektor eine erste Soft-Information auf der Grundlage der Ausführung der ersten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am ersten Block an einen Soft-Decoder übergibt, und wobei der Soft-Detektor eine dritte Soft-Information auf der Grundlage der Ausführung der zweiten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am ersten Block an den Soft-Decoder übergibt; den Soft-Decoder, aufweisend: Logik, die in einer dritten Hardware-Engine realisiert ist, geeignet, um während eines zweiten Zeitintervalls unter Verwendung der ersten Soft-Information einen Decodierungsalgorithmus am ersten Block auszuführen und während eines vierten Zeitintervalls unter Verwendung der dritten Soft-Information den Decodierungsalgorithmus am ersten Block auszuführen, wobei der Soft-Decoder die zweite Soft-Information auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des zweiten Zeitintervalls erzeugt; und Logik, geeignet, um auf der Grundlage der Ausführung des Decodierungsalgorithmus am ersten Block während des vierten Zeitintervalls einen ersten decodierten Block von Signalabtastwerten auszugeben, wobei eine Summe der zweiten, dritten und vierten Zeitintervalle etwa der zweifachen Dauer des ersten Zeitintervalls entspricht.
  15. Bandlaufwerkssystem nach Anspruch 14, wobei das zweite Zeitintervall etwa einer Hälfte (1/2) des ersten Zeitintervalls entspricht und unmittelbar nach dem ersten Zeitintervall eintritt, wobei das dritte Zeitintervall etwa dem ersten Zeitintervall entspricht und unmittelbar nach dem zweiten Zeitintervall eintritt, und wobei das vierte Zeitintervall etwa einer Hälfte (1/2) des ersten Zeitintervalls entspricht und unmittelbar nach dem dritten Zeitintervall eintritt.
  16. Bandlaufwerkssystem nach Anspruch 14, wobei unmittelbar nach der Ausführung der ersten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am ersten Block die erste Hardware-Engine mit der Ausführung der ersten Vorwärtsschleife und die zweite Hardware-Engine mit der Ausführung der ersten Rückwärtsschleife des Erkennungsalgorithmus an einem zweiten Block von Signalabtastwerten beginnt, und wobei unmittelbar nach der Ausführung der ersten Vorwärts- und Rückwärtsschleife des Erkennungsalgorithmus am zweiten Block die erste Hardware-Engine mit der Ausführung der ersten Vorwärtsschleife und die zweite Hardware-Engine mit der Ausführung der ersten Rückwärtsschleife des Erkennungsalgorithmus an einem dritten Block von Signalabtastwerten beginnt.
  17. Bandlaufwerkssystem nach Anspruch 16, außerdem aufweisend: einen Magnetkopf; einen Antriebsmechanismus, geeignet, um einen magnetischen Datenträger über den Magnetkopf zu führen; einen Controller, der mit dem Magnetkopf elektrisch verbunden ist, wobei der Controller geeignet ist, den Betrieb des Magnetkopfes zu steuern; Logik, geeignet, um die Signalabtastwerte über den Magnetkopf zu empfangen; und Pufferspeicher, geeignet, um zu speichern: den ersten Block von Signalabtastwerten; den zweiten Block von Signalabtastwerten; den dritten Block von Signalabtastwerten; verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus, die dem ersten Block von Signalabtastwerten zugeordnet sind; verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus, die dem zweiten Block von Signalabtastwerten zugeordnet sind; und verzweigungsmetrische Berechnungen für den Erkennungsalgorithmus, die dem dritten Block von Signalabtastwerten zugeordnet sind.
  18. Bandlaufwerkssystem nach Anspruch 14, wobei der Erkennungsalgorithmus ein Sliding-Window-Dual-Max(SW-DMAX)-Algorithmus ist und der Decodierungsalgorithmus einen Low-Density-Parity-Check(LDPC)-Decodierungsalgorithmus aufweist.
  19. Verfahren, aufweisend: Ausführen einer ersten Vorwärtsschleife eines Erkennungsalgorithmus an einem ersten Block von Signalabtastwerten während eines ersten Zeitintervalls; Ausführen einer ersten Rückwärtsschleife des Erkennungsalgorithmus am ersten Block während eines zweiten Zeitintervalls, um eine erste Soft-Information zu erzeugen; Ausführen eines Decodierungsalgorithmus am ersten Block während eines dritten Zeitintervalls unter Verwendung der ersten Soft-Information, um eine zweite Soft-Information zu erzeugen; Ausführen einer zweiten Vorwärtsschleife des Erkennungsalgorithmus am ersten Block während eines vierten Zeitintervalls unter Verwendung der zweiten Soft-Information; Ausführen einer zweiten Rückwärtsschleife des Erkennungsalgorithmus am ersten Block während eines fünften Zeitintervalls, um eine dritte Soft-Information zu erzeugen; Ausführen des Decodierungsalgorithmus am ersten Block während eines sechsten Zeitintervalls unter Verwendung der dritten Soft-Information, um einen ersten decodierten Block von Signalabtastwerten zu erzeugen; und Ausgeben des ersten decodierten Blocks von Signalabtastwerten.
  20. Verfahren nach Anspruch 19, wobei eine Summe des zweiten, dritten, vierten, fünften und sechsten Zeitintervalls etwa der Dauer des ersten Zeitintervalls entspricht, wobei das zweite Zeitintervall unmittelbar nach dem ersten Zeitintervall eintritt, wobei das dritte Zeitintervall unmittelbar nach dem zweiten Zeitintervall eintritt, wobei das vierte Zeitintervall unmittelbar nach dem dritten Zeitintervall eintritt, wobei das fünfte Zeitintervall unmittelbar nach dem vierten Zeitintervall eintritt, und wobei das sechste Zeitintervall unmittelbar nach dem fünften Zeitintervall eintritt.
  21. Verfahren nach Anspruch 20, außerdem aufweisend ein Ausführen der ersten Vorwärtsschleife des Erkennungsalgorithmus an einem zweiten Block von Signalabtastwerten gleichzeitig mit dem zweiten, dritten, vierten, fünften und sechsten Zeitintervall.
  22. Verfahren nach Anspruch 19, wobei eine Summe des zweiten, dritten, vierten, fünften und sechsten Zeitintervalls etwa der zweifachen Dauer des ersten Zeitintervalls entspricht, wobei das zweite Zeitintervall unmittelbar nach dem ersten Zeitintervall eintritt, wobei das dritte Zeitintervall unmittelbar nach dem zweiten Zeitintervall eintritt, wobei das vierte Zeitintervall unmittelbar nach dem dritten Zeitintervall eintritt, wobei das fünfte Zeitintervall unmittelbar nach dem vierten Zeitintervall eintritt, und wobei das sechste Zeitintervall unmittelbar nach dem fünften Zeitintervall eintritt.
  23. Verfahren nach Anspruch 22, außerdem aufweisend: Ausführen der ersten Vorwärtsschleife des Erkennungsalgorithmus an einem zweiten Block von Signalabtastwerten unmittelbar nach der Ausführung der ersten Vorwärtsschleife des Erkennungsalgorithmus am ersten Block; und Ausführen der ersten Vorwärtsschleife des Erkennungsalgorithmus an einem dritten Block von Signalabtastwerten unmittelbar nach der Ausführung der ersten Vorwärtsschleife des Erkennungsalgorithmus am zweiten Block.
  24. Verfahren nach Anspruch 20, wobei der Erkennungsalgorithmus ein Dual-MAX(DMAX)- oder Sliding-Window-Dual-MAX(SW-DMAX)-Erkennungsalgorithmus ist.
  25. Verfahren nach Anspruch 20, wobei der Decodierungsalgorithmus einen Low-Density-Parity-Check(LDPC)-Decodierungsalgorithmus aufweist.
  26. Computerprogrammprodukt mit Programmcode, der geeignet ist, die Verfahrensschritte nach einem der Ansprüche 19 bis 26 durchzuführen, wenn das Programm auf einem Computer ausgeführt wird.
DE201311001025 2012-04-24 2013-03-20 Kombinierte Soft-Erkennung/Soft-Decodierung in Bandlaufwerk-Speicherkanälen Pending DE112013001025T5 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13454935 US8854759B2 (en) 2012-04-24 2012-04-24 Combined soft detection/soft decoding in tape drive storage channels
US13/454,935 2012-04-24
PCT/CN2013/072908 WO2013159616A1 (en) 2012-04-24 2013-03-20 Combined soft detection/soft decoding in tape drive storage channels

Publications (1)

Publication Number Publication Date
DE112013001025T5 true true DE112013001025T5 (de) 2015-03-05

Family

ID=49379884

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201311001025 Pending DE112013001025T5 (de) 2012-04-24 2013-03-20 Kombinierte Soft-Erkennung/Soft-Decodierung in Bandlaufwerk-Speicherkanälen

Country Status (5)

Country Link
US (3) US8854759B2 (de)
CN (1) CN104254976A (de)
DE (1) DE112013001025T5 (de)
GB (1) GB201414771D0 (de)
WO (1) WO2013159616A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8854759B2 (en) * 2012-04-24 2014-10-07 International Business Machines Corporation Combined soft detection/soft decoding in tape drive storage channels
US9178534B2 (en) 2012-05-29 2015-11-03 International Business Machines Corporation Methods for partial reverse concatenation for data storage devices using composite codes
US9190076B2 (en) 2012-05-29 2015-11-17 International Business Machines Corporation Data format using an efficient reverse concatenated modulation code for magnetic tape recording
US9558782B2 (en) 2012-05-29 2017-01-31 International Business Machines Corporation Partial reverse concatenation for data storage devices using composite codes
US8797670B2 (en) * 2012-06-19 2014-08-05 International Business Machines Corporation Adaptive soft-output detector for magnetic tape read channels
US8743500B2 (en) * 2012-06-19 2014-06-03 International Business Machines Corporation Adaptive soft-output detector for magnetic tape read channels
US8743498B2 (en) * 2012-06-19 2014-06-03 International Business Machines Corporation Adaptive soft-output detector for magnetic tape read channels

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4888775A (en) 1988-03-18 1989-12-19 International Business Machines Corporation Trellis codes for partial response channels
US5586125A (en) * 1993-02-26 1996-12-17 Warner; William T. Method for generating test vectors for characterizing and verifying the operation of integrated circuits
JPH0898144A (ja) 1994-09-28 1996-04-12 Sanyo Electric Co Ltd 映像データの誤り訂正方式
US5805863A (en) * 1995-12-27 1998-09-08 Intel Corporation Memory pattern analysis tool for use in optimizing computer program code
KR100611954B1 (ko) 1999-07-08 2006-08-11 삼성전자주식회사 고밀도 디스크를 위한 에러 정정방법
US6901119B2 (en) 2001-02-22 2005-05-31 International Business Machines Corporation Method and apparatus for implementing soft-input/soft-output iterative detectors/decoders
US6895547B2 (en) 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US7000167B2 (en) 2001-08-01 2006-02-14 International Business Machines Corporation Decoding low density parity check codes
CN1303530C (zh) 2001-10-24 2007-03-07 皇家飞利浦电子股份有限公司 存储管理设备和存储管理方法
US6757122B1 (en) * 2002-01-29 2004-06-29 Seagate Technology Llc Method and decoding apparatus using linear code with parity check matrices composed from circulants
US7246294B2 (en) 2002-04-01 2007-07-17 Intel Corporation Method for iterative hard-decision forward error correction decoding
US7266750B1 (en) 2002-07-10 2007-09-04 Maxtor Corporation Error recovery strategies for iterative decoders
US7023963B1 (en) * 2002-09-18 2006-04-04 Adtran, Inc. DSL line card echo canceler-based mechanism for locating telecommunication line fault
US7071851B1 (en) 2005-01-31 2006-07-04 Hitachi Global Storage Technologies Netherlands B.V. Techniques for implementing non-uniform constraints in modulation encoded data
US7530003B2 (en) 2005-02-17 2009-05-05 Hitachi Global Storage Technologies Netherlands B.V. Permuting MTR code with ECC without need for second MTR code
US7650561B1 (en) 2005-07-12 2010-01-19 Seagate Technology Llc Method of switching from parallel to serial MAP detector
US7714748B1 (en) 2005-07-22 2010-05-11 Marvell International Ltd. Systems and methods for constructing high-rate constrained codes
US7725800B2 (en) 2005-08-05 2010-05-25 Hitachi Global Stroage Technologies Netherlands, B.V. Decoding techniques for correcting errors using soft information
US7409622B1 (en) * 2005-11-10 2008-08-05 Storage Technology Corporation System and method for reverse error correction coding
US7827472B2 (en) 2006-05-26 2010-11-02 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry, Through The Communications Research Centre Canada Puncture-constrained interleaving for concatenated codes
US8046660B2 (en) 2006-08-07 2011-10-25 Marvell World Trade Ltd. System and method for correcting errors in non-volatile memory using product codes
US7405678B2 (en) 2006-09-25 2008-07-29 International Business Machines Corporation Method of retrieving data from a storage device using a recovered read-back parameter
US7827464B2 (en) 2006-11-15 2010-11-02 Seagate Technology Llc Iterative read channel architectures with coded modulation
US7949932B2 (en) * 2007-03-20 2011-05-24 Quantum Corporation Strengthening parity check bit protection for array-like LDPC codes
US7873894B2 (en) 2007-03-23 2011-01-18 International Business Machines Corporation Reverse concatenation for product codes
US7877662B2 (en) 2007-03-23 2011-01-25 International Business Machines Corporation Reverse concatenation for product codes
JP5063709B2 (ja) 2007-03-23 2012-10-31 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation 逆連結符号化システム、方法、及びコンピュータ・プログラム
US7486208B2 (en) 2007-05-16 2009-02-03 International Business Machines Corporation High-rate RLL encoding
US8065585B1 (en) 2007-08-30 2011-11-22 L-3 Communications Corporation High data throughput turbo product encoder
EP2210345A2 (de) 2007-10-02 2010-07-28 Imec Asip-architektur zur decodierung von mindestens zwei decodierungsverfahren
JP2008146828A (ja) 2008-01-15 2008-06-26 Ricoh Co Ltd 光ディスク装置のエンコードデータ符号回路
US8209578B2 (en) 2008-03-11 2012-06-26 Hitachi Global Storage Technologies Netherlands, B.V. Systems using low density parity check codes for correcting errors
US7616134B1 (en) 2008-06-19 2009-11-10 International Business Machines Corporation Systems and methods for enumerative encoding and decoding of maximum-transition-run codes and PRML (G,I,M) codes
US8259405B2 (en) 2009-01-09 2012-09-04 International Business Machines Corporation Rewriting codeword objects to magnetic data tape upon detection of an error
US8276045B2 (en) 2009-01-09 2012-09-25 International Business Machines Corporation ECC interleaving for multi-track recording on magnetic tape
US8572460B2 (en) 2009-03-17 2013-10-29 Broadcom Corporation Communication device employing binary product coding with selective additional cyclic redundancy check (CRC) therein
US20100241923A1 (en) 2009-03-17 2010-09-23 Broadcom Corporation Communication device employing LDPC (Low Density Parity Check) coding with Reed-Solomon (RS) and/or binary product coding
US8341509B2 (en) 2009-03-17 2012-12-25 Broadcom Corporation Forward error correction (FEC) scheme for communications
US20100303176A1 (en) * 2009-06-01 2010-12-02 Nokia Corporation Methods and apparatuses for mimo detection
US8316281B2 (en) 2009-11-03 2012-11-20 Oracle America, Inc. High density tape drive multi-channel low density parity check coding control
US8479079B2 (en) 2010-04-09 2013-07-02 International Business Machines Corporation Integrated data and header protection for tape drives
US8576510B2 (en) * 2011-10-06 2013-11-05 International Business Machines Corporation Robust metric computation of longitudinal position (LPOS) data symbol detection
US8854759B2 (en) 2012-04-24 2014-10-07 International Business Machines Corporation Combined soft detection/soft decoding in tape drive storage channels
US9558782B2 (en) 2012-05-29 2017-01-31 International Business Machines Corporation Partial reverse concatenation for data storage devices using composite codes
US9178534B2 (en) 2012-05-29 2015-11-03 International Business Machines Corporation Methods for partial reverse concatenation for data storage devices using composite codes
US9190076B2 (en) 2012-05-29 2015-11-17 International Business Machines Corporation Data format using an efficient reverse concatenated modulation code for magnetic tape recording
US8743500B2 (en) * 2012-06-19 2014-06-03 International Business Machines Corporation Adaptive soft-output detector for magnetic tape read channels
US8797670B2 (en) * 2012-06-19 2014-08-05 International Business Machines Corporation Adaptive soft-output detector for magnetic tape read channels
US8743498B2 (en) * 2012-06-19 2014-06-03 International Business Machines Corporation Adaptive soft-output detector for magnetic tape read channels

Also Published As

Publication number Publication date Type
US20130279040A1 (en) 2013-10-24 application
CN104254976A (zh) 2014-12-31 application
GB201414771D0 (en) 2014-10-01 grant
US20140347762A1 (en) 2014-11-27 application
GB2515921A (en) 2015-01-07 application
WO2013159616A1 (en) 2013-10-31 application
US9202518B2 (en) 2015-12-01 grant
US9318148B2 (en) 2016-04-19 grant
US8854759B2 (en) 2014-10-07 grant
US20130283127A1 (en) 2013-10-24 application

Similar Documents

Publication Publication Date Title
Keerthi et al. Convergence of a generalized SMO algorithm for SVM classifier design
Starzyk et al. CMOS current mode winner-take-all circuit with both excitatory and inhibitory feedback
WO1996013105A1 (de) Übertragungssystem mit soft-output-dekodierung bei reduziertem speicherbedarf
EP0391354A2 (de) Verfahren zum Verallgemeinern des Viterbi-Algorithmus und Einrichtungen zur Durchführung des Verfahrens
DE19626076A1 (de) Viterbi-Decodierer
US3679842A (en) Method and apparatus for preparing copies or duplicates of wide band record carriers on which signals are recorded
WO2000068934A1 (de) Verfahren und vorrichtung zum verschleiern eines fehlers in einem codierten audiosignal und verfahren und vorrichtung zum decodieren eines codierten audiosignals
US6377635B1 (en) Method and apparatus for viterbi detection of generalized partial response signals using partial matched filter and matched filter metrics
EP0009549A1 (de) Schaltungsanordnung zum Entstören von Übertragungseinrichtungen für digitale Signale, insbesondere zum Ausblenden von höherfrequenten Störimpulsen beliebiger Polarität
US20130279040A1 (en) Combined soft detection/soft decoding in tape drive storage channels
DE19808993A1 (de) Verfahren zur Spitzenwertreduktion bei Einträger-modulierten oder Mehrträger-modulierten, digitalen Sendesignalen
US8788923B2 (en) Methods and apparatus for soft demapping and intercell interference mitigation in flash memories
DE3540800A1 (de) Binaeraddierer-zelle und aus solchen binaeraddierer-zellen zusammengesetztes schnelles addier- und multiplizierwerk
WO1999042948A1 (de) Datenträger zum kontaktlosen empfang von daten und energie und verfahren zum betreiben eines solchen
WO2003085917A1 (de) Einrichtung und verfahren zur geregelten skalierung und quantisierung von soft-output-werten eines entzerrers
Papyan et al. Convolutional neural networks analyzed via convolutional sparse coding
EP0366192A2 (de) Textverarbeitungsvorrichtung
DE4039849A1 (de) Schaltungsanordnung zum erzeugen von datentaktsignalen bei einem magnetplattenspeicher
DE4208082C1 (en) Reading bar=code on edge of photographic film - ascertaining code start and end and thus length by relative speed between film and sensor arrangement
Hu et al. Graph-based channel detection for multitrack recording channels
DE4130907A1 (de) Schaltungsanordnung zur erzeugung zyklischer codes
DE3740361C2 (de)
EP0131823A2 (de) Einrichtung zur Aufzeichnung und Rückgewinnung binärer Signale auf einem magnetischen Informationsträger
Boudou et al. Compression of propositional resolution proofs by lowering subproofs
DE3217557C2 (de)

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

R081 Change of applicant/patentee

Owner name: GLOBALFOUNDRIES INC., KY

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, N.Y., US

R081 Change of applicant/patentee

Owner name: GLOBALFOUNDRIES INC., KY

Free format text: FORMER OWNER: GLOBALFOUNDRIES US 2 LLC (N.D.GES.DES STAATES DELAWARE), HOPEWELL JUNCTION, N.Y., US

R082 Change of representative

Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE