USPatent applicationPatented

Method of detecting error event in codeword reproduced by perpendicular magnetic recording medium and apparatus using the same

Granted 2 Nov 2010 · 2 office actions

Current assignee: University Of Minnesota · originally Samsung Electronics

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Jihoon Park, Jun Lee, Jaekyun Moon · Examiner: Scott T Baderman · AU 2112 · TC 2100

Life of the application

13 dated events
⤢ drag to zoom200420062008201020122014201620182020202220242026ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

Apparatuses and methods for detecting error events in a codeword reproduced by perpendicular magnetic recording medium (PMR. The method includes: generating cyclic redundancy check (CRC) parity bits based on a generator polynomial for a source information sequence to be recorded on PMR medium and recording a codeword in which the generated CRC parity bits are added to the source information sequence; and reading the recorded codeword and an error event in the read codeword. It is possible to detect error events when a codeword recorded by PMR is read, using a small number of bits.

Description

7 parts
›This application claims priority from Korean Patent Application…

This application claims priority from Korean Patent Application No. 10-2004-0101117, filed on Dec. 3, 2004 in the Korean Intellectual Property Office, and U.S. Provisional Patent Application No. 60/615,596, filed on Oct. 5, 2004 in the U.S. Patent and Trademark Office, the disclosures of which are incorporated herein in their entirety by reference.

›BACKGROUND OF THE INVENTION

1. Field of the Invention

Apparatuses and methods consistent with the present invention relate to an error detection code (EDC) for a perpendicular magnetic recording medium (PMR), and more particularly, to detecting error events generated when a codeword recorded by PMR is read.

2. Description of the Related Art

A parity check code (PCC) is used as an error detection method to determine whether a reproduced codeword contains error events. For example, PCC is used to detect error events when a codeword recorded on a longitudinal magnetic recording medium (LMR) is reproduced.

However, if PCC is used to detect error events when a codeword recorded on a perpendicular magnetic recording medium (PMR) is read, the error correction mechanism is degraded, as will be explained below.

The types of error events generated in PMR are considerably different from those in LMR.

FIGS. 1A and 1B are graphs illustrating the types of error events in LMR and PMR, respectively. As shown in FIGS. 1A and 1B , the types of error events generated in LMR are different from those generated in PMR as indicated by differences in Channel Density D s and Normalized Distance (dB) between the graphs. A method of detecting error events in LMR cannot be used to detect error events in PMR due to these differences. As such, for example, a code is required for detecting error events in PMR.

›SUMMARY OF THE INVENTION

The present invention provides a method of detecting error events when a codeword reproduced by perpendicular magnetic recording (PMR) is read, using a cyclic redundancy check (CRC) code.

The present invention also provides an apparatus for detecting error events when a codeword reproduced by PMR is read, using a CRC code.

According to an aspect of the present invention, there is provided a method of detecting error events in a codeword reproduced by perpendicular magnetic recording medium (PMR), the method including: generating cyclic redundancy check (CRC) parity bits based on a generator polynomial for a source information sequence to be recorded on PMR medium and recording a codeword in which the generated CRC parity bits are added to the source information sequence; and reading the recorded codeword and an error event in the read codeword.

According to another aspect of the present invention, there is provided a apparatus of detecting error events in a codeword reproduced by perpendicular magnetic recording medium (PMR), the apparatus including: an information encoder generating CRC parity bits based on a generator polynomial for a source information sequence to be recorded on PMR medium and recording a codeword in which the generated CRC parity bits are added to the source information sequence; and an error detector reading the recorded codeword and detecting error events in the read codeword.

›BRIEF DESCRIPTION OF THE DRAWINGS

The above and/or other aspects of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which:

FIGS. 1A and 1B are graphs illustrating types of error events in longitudinal magnetic recording medium (LMR) and perpendicular magnetic recording medium (PMR), respectively;

FIG. 2 is a flowchart illustrating a method of detecting error events when a codeword reproduced by PMR is read, according to an exemplary embodiment of the present invention;

FIG. 3 is a flowchart illustrating Operation 10 shown in FIG. 2 ;

FIG. 4 is a flowchart illustrating Operation 12 shown in FIG. 2 ;

FIG. 5 illustrates an example of types of error events detected by exemplary embodiments of the present invention;

FIGS. 6A and 6B illustrate error event detectability according to the generating polynomial of the CRC code;

FIG. 7 is a block diagram illustrating an apparatus for detecting error events in a codeword reproduced by PMR according to an exemplary embodiment of the present invention;

FIG. 8 is a block diagram illustrating an information encoder 100 shown in FIG. 7 ; and

FIG. 9 is a block diagram illustrating an error detector 140 shown in FIG. 7 .

›DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS OF THE INVENTION · 1 of 3

The present invention will now be described more fully with reference to the accompanying drawings, in which embodiments of the invention are shown.

FIG. 2 is a flowchart illustrating a method of detecting error events when a codeword reproduced by PMR is read, according to an exemplary embodiment of the present invention. Referring to FIG. 2 , a cyclic redundancy check (CRC) bit is generated on the basis of source information to be recorded on a perpendicular magnetic recording medium (PMR), and a codeword to which is added the generated CRC bit is recorded by PMR (Operation 10 ). The codeword contains the source information and the CRC bit generated from the source information.

FIG. 3 is a flowchart illustrating Operation 10 shown in FIG. 2 . Referring to FIG. 3 , to add the CRC bit to the source information, a source information shift polynomial is calculated (Operation 30 ). The source information shift polynomial is calculated by multiplying a degree (i.e., a CRC bit number) equal to the degree of a generating polynomial by the source information. For example, when a bit stream of the source information is 1011, a descending polynomial M(x) having the source information as a coefficient is given by M(x)=x 3 +x+1. If x 3 is equal to the degree of the generating polynomial and is multiplied by the polynomial M(x), the source information shift polynomial N(x) is given by N(x)=M(x)×x 3 ″=x 6 +x 4 +x 3 .

The calculated source information shift polynomial is divided by a generating polynomial for materializing a CRC code to calculate remainders of the source information shift polynomial (Operation 32 ). The generating polynomial of the CRC code is used to generate the CRC code and detect error events in a reproduced codeword.

The generating polynomial is selected according to error event detection capability. When an error events polynomial having error events as a coefficient is divided by a specific generating polynomial, a specific generating polynomial in which a remainder of the error event polynomial is not 0 is used as the generating polynomial for implementing the CRC code. Error events in the codeword can be detected using a generating polynomial having a remainder other than 0. Error events in the codeword cannot be detected using a generating polynomial having a remainder of “0”.

For example, if error events are 11011, an error event polynomial E(x) for the error events is given by E(x)=x 4 +x 3 +x+1, and a specific generating polynomial G(x) is given by G(x)=x 2 +x+1. When the error event polynomial E(x) is divided by the specific generating polynomial G(x) to obtain a quotient and a remainder, the error event polynomial E(x) is given by E(x)=x 4 +x 3 +x+1=(x 2 +1)(x 2 +x+1) according to GF(2): Galois field arithmetic.

When the error event polynomial E(x) is divided by the specific generating polynomial G(x)=x 2 +x+1, since the remainder is 0, the error events 11011 cannot be detected using the specific generating polynomial G(x)=x 2 +x+1. When a specific generating polynomial G(x) is given by G(x)=x 2 +1 and the error event polynomial E(x) is divided by the specific generating polynomial G(x) to obtain a quotient and a remainder, the error event polynomial E(x) is given by E(x)=x 4 +x 3 +x+1=(x 2 +1)(x 2 +x+1). When the error event polynomial E(x) is divided by the specific generating polynomial G(x)=x 2 +1 to obtain a quotient and a remainder, since the remainder is 0, the error events 11011 cannot be detected using the specific generating polynomial G(x)=x 2 +1.

When a specific generating polynomial G(x) is given by G(x)=x 3 +x 2 +1 and the error event polynomial E(x) is divided by the specific generating polynomial G(x) to obtain a quotient and a remainder, the error event polynomial E(x) is given by E(x)=x 4 +x 3 +x+1=x(x 3 +x 2 +1)+1. When the error event polynomial E(x) is divided by the specific generating polynomial G(x)=x 3 +x 2 +1 to obtain a quotient and a remainder, since the remainder is 1, the error events 11011 can be detected using the specific generating polynomial G(x)=x 3 +x 2 +1. When a specific generating polynomial G(x) is given by G(x)=x 3 +x+1 and the error event polynomial E(x) is divided by the specific generating polynomial G(x) to obtain a quotient and a remainder, the error event polynomial E(x) is given by E(x)=x 4 +x 3 +x+1=(x+1)(x 3 +x+1)+x 2 +x. When the error event polynomial E(x) is divided by the specific generating polynomial G(x)=x 3 +x+1 to obtain a quotient and a remainder, since the remainder is x 2 +x, the error events 11011 can be detected using the specific generating polynomial G(x)=x 3 +x+1.

In the exemplary embodiment, Equation 1 or Equation 2 below may used as a generating polynomial for implementing the CRC code over a wide range of recording densities and different noise environments in PMR.

G ( x )= x 3 +x 2 +1  (1)

G ( x )= x 4 +x 3 +1  (2)

wherein G(x) is the generating polynomial for implementing the CRC code, and x is a parameter indicating a 1-bit delay.

For example, when the source information shift polynomial given by N(x)=M(x)*x 3 ″=x 6 +x 4 +x 3 is divided by the generating polynomial given by G(x)=x 3 +x 2 +1 to obtain a quotient and a remainder, the source information shift polynomial is given by N(x)=M(x)×x 3 ″=x 6 +x 4 +x 3 =(x 3 +x 2 )(x 3 +x 2 +1)+x 2 . That is, if the source information shift polynomial N(x)=M(x)*x 3 ″=x 6 +x 4 +x 3 is divided by the generating polynomial G(x)=x 3 +x 2 +1, a remainder of x 2 can be calculated.

The remainder of the source information shift polynomial is added to source information as a CRC bit and recorded by PMR (Operation 34 ). A codeword in which the CRC bit, i.e., the remainder calculated when the source information shift polynomial is divided by the generating polynomial, is added to the source information shift polynomial is recorded by PMR. For example, source information is 1011 and the remainder of the source information shift polynomial is x 2 . The remainder of the source information shift polynomial is a 3-bit CRC “100”. A codeword “1011100” in which the CRC bit “100” is added to the source information “1011” is recorded by PMR.

›DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS OF THE INVENTION · 2 of 3

After Operation 10 , a recorded codeword is read, and any error events in the codeword are detected (Operation 12 ). An error event is generated in a codeword including source information and a CRC bit, or in the boundary between codewords.

An error event detected in a codeword or at a codeword boundary between codewords is at least one of ±[2]=[1], ±[2, −2]=[1, 1], ±[2, −2, 2]=[1, 1, 1], ±[2, −2, 2, −2]=[1, 1, 1, 1], ±[2, −2, 2, −2, 2]=[1, 1, 1, 1, 1], ±[2, −2, 2, −2, 2, −2]=[1, 1, 1, 1, 1, 1], ±[2, −2, 2, −2, 2, −2, 2]=[1, 1, 1, 1, 1, 1, 1], ±[2, −2, 0, 2, −2]=[1, 1, 0, 1, 1], ±[2, −2, 0, 2, −2, 0, 2, −2]=[1, 1, 0, 1, 1, 0, 1, 1], ±[2, −2, 0, 0, 2, −2]=[1, 1, 0, 0, 1, 1], ±[2, −2, 0, 0, 2, −2, 0, 0, 2, −2]=[1, 1, 0, 0, 1, 1, 0, 0, 1, 1], and ±[2, −2, 0, 0, 2, −2, 0, 2, −2]=[1, 1, 0, 0, 1, 1, 0, 1, 1]. The error events are a collection of dominant error events over a wide range of recording densities and different noise environments in PMR, and are not restricted thereto.

The following Table 1 represents detection capability for dominant error events over a wide range of recording densities and different noise environments in PMR, using G(x)=x 3 +x 2 +1 and G(x)=x 4 +x 3 +1.

FIG. 4 is a flowchart illustrating Operation 12 shown in FIG. 2 . Referring to FIG. 4 , a codeword recorded by PMR is read (Operation 50 ). For example, the codeword “1011100” corresponding to the CRC bit and the source information is read by PMR.

A leading codeword polynomial having the read codeword as a coefficient is divided by the generating polynomial (Operation 52 ). The leading codeword polynomial is an equation in which source information corresponding to bit stream information and bit information of a CRC bit are polynomial coefficients. For example, if the codeword is 1011100, the leading codeword polynomial is D(x)=x 6 +x 4 +x 3 +x 2 . The leading codeword polynomial is divided by the generating polynomial used to implement the CRC code. For example, the leading codeword polynomial is given by D(x)x 6 +x 4 +x 3 +x 2 and the generating polynomial is given by G(x)=x 3 +x 2 +1. When the leading codeword polynomial D(x) is divided by the generating polynomial G(x) to obtain a quotient and a remainder, the leading codeword polynomial is given by D(x)=x 6 +x 4 +x 3 +x 2 =(x 3 +x 2 )(x 3 +x 2 +1). If the read codeword is 1001100, the leading codeword polynomial is given by D(x)=x 6 +x 3 +x 2 . For example, the leading codeword polynomial is given by D(x)=x 6 +x 3 +x 2 and the generating polynomial is G(x)=x 3 +x 2 +1. When the leading codeword polynomial D(x) is divided by the generating polynomial G(x) to obtain a quotient and a remainder, the leading codeword polynomial is given by D(x)=x 6 +x 3 +x 2 =(x 3 +x 2 +x+1)(x 3 +x 2 +1)+x 2 +x+1.

When the leading codeword polynomial is divided by the generating polynomial, it is checked whether the remainder of the leading codeword polynomial is 0 (Operation 54 ).

If the remainder of the leading codeword polynomial is not 0, it is determined that error events have occurred in the read codeword (Operation 56 ). For example, the leading codeword polynomial is given by D(x)=x 6 +x 3 +x 2 and the generating polynomial is given by G(x)=x 3 +x 2 +1. Since the leading codeword polynomial D(x) is given by D(x)=x 6 +x 3 +x 2 =(x 3 +x 2 +x+1)(x 3 +x 2 +1)+x 2 +x+1, the remainder of the leading codeword polynomial is x 2 +x+1. Therefore, if the remainder of the leading codeword polynomial is not 0, it is determined that error events have occurred in the read codeword. If source information recorded by PMR is 1011 and a CRC bit added to the source information is 100, the codeword read by PMR must be 1011100. However, if the read codeword is 1001100 due to external noise, it is determined that error events (±[2]=[1]) have occurred in the read codeword.

If the remainder of the leading codeword polynomial is 0, it is determined that error events have not occurred in the read codeword (Operation 58 ). For example, the leading codeword polynomial is given by D(x)=x6+x 4 +x 3 +x 2 and the generating polynomial is given by G(x)=x 3 +x 2 +1. Since the leading codeword polynomial D(x) is given by D(x)=x 6 +x 4 +x 3 +x 2 =(x 3 +x 2 )(x 3 +x 2 +1), the remainder of the leading codeword polynomial is 0. Therefore, it is determined that error events have not occurred in the read codeword.

If source information recorded by PMR is 1011 and a CRC bit added to the source information is 100, the codeword read by PMR must be 1011100. However, if the read codeword is 1001100, since an originally recorded codeword is read without error, it is determined that error events have not occurred in the read codeword.

After Operation 12 , error events in the read codeword are corrected using an error correction mechanism (Operation 14 ). For this, a post-Viterbi based error event correlation filter may be used to correct error events in the codeword. The post-Viterbi based error event correlation filter is used to correct error events in a codeword by finding error event locations and error event patterns of the codeword in which the errors occur.

FIG. 5 illustrates an example of the types of error events detected by the present invention. Referring to FIG. 5 , a high frequency means a high error rate. It is confirmed that a CRC code having a 3-bit CRC bit is excellent in detecting dominant error events and non-dominant error events in a codeword including source information and the CRC bit or in the boundary between codewords.

FIGS. 6A and 6B illustrate error event detectability according to the CRC code generating polynomial. Referring to FIGS. 6A and 6B , the higher the degree of the generating polynomial, the types of error events are detected more. A higher degree of the generating polynomial results in increasing the number of additional bits used to detect errors, thereby improving the error detection performance.

FIG. 7 is a block diagram illustrating an apparatus for detecting error events in a codeword reproduced by PMR according to an exemplary embodiment of the present invention. Referring to FIG. 7 , the apparatus comprises an information encoder 100 , PMR 120 , an error detector 140 , and an error corrector 160 .

›DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS OF THE INVENTION · 3 of 3

The information encoder 100 generates a CRC bit based on source information to be recorded on the PMR 120 , and records a codeword in which the generated CRC bit is added to the source information by the PMR 120 .

FIG. 8 is a block diagram illustrating the information encoder 100 shown in FIG. 7 . The information encoder 100 comprises a source information shift polynomial calculator 200 , a remainder calculator 220 , and a codeword recorder 240 .

The source information shift polynomial calculator 200 calculates a source information shift polynomial to add the CRC bit to the source information, and outputs the calculated polynomial to the remainder calculator 220 . The source information shift polynomial is calculated by multiplying the source information by the degree of the generating polynomial.

The remainder calculator 220 receives the source information shift polynomial from the source information shift polynomial calculator 200 , divides the source information shift polynomial by the generating polynomial for materializing the CRC code, calculates the remainder of the source information shift polynomial, and outputs the calculated remainder to the codeword recorder 240 .

When an error event polynomial having error events as a coefficient is divided by a specific generating polynomial, the remainder calculator 220 uses the specific generating polynomial in which the remainder of the error event polynomial is not 0 as the generating polynomial for implementing the CRC code. Equation 1 or Equation 2 above is used as the generating polynomial.

The codeword recorder 240 records a codeword in which the remainder of the source information polynomial input from the remainder calculator 220 is added to the source information as the CRC bit, by the PMR 120 .

The PMR 120 receives the codeword including the source information and the CRC bit from the codeword recorder 240 and records the received codeword on a recording medium. The recorded codeword is output to the error detector 140 to detect error events.

The error detector 140 reads the recorded codeword and detects error events in the codeword. The error detector 140 detects error events in the codeword including the source information and the CRC bit. The error detector 140 detects error events in the boundary between codewords.

An error event detected by the error detector 140 is at least one of ±[2]=[1], ±[2, −2]=[1, 1], ±[2, −2, 2]=[1, 1, 1], ±[2, −2, 2, −2]=[1, 1, 1, 1], ±[2, −2, 2, −2, 2]=[1, 1, 1, 1, 1], ±[2, −2, 2, −2, 2, −2]=[1, 1, 1, 1, 1, 1], ±[2, −2, 2, −2, 2, −2, 2]=[1, 1, 1, 1, 1, 1, 1], ±[2, −2, 0, 2, −2]=[1, 1, 0, 1, 1], ±[2, −2, 0, 2, −2, 0, 2, −2]=[1, 1, 0, 1, 1, 0, 1, 1], ±[2, −2, 0, 0, 2, −2]=[1, 1, 0, 0, 1, 1], ±[2, −2, 0, 0, 2, −2, 0, 0, 2, −2]=[1, 1, 0, 0, 1, 1, 0, 0, 1, 1], and ±[2, −2, 0, 0, 2, −2, 0, 2, −2]=[1, 1, 0, 0, 1, 1, 0, 1, 1]. The error events are a collection of dominant error events over a wide range of recording densities and different noise environments in PMR.

FIG. 9 is a block diagram illustrating the error detector 140 shown in FIG. 7 . Referring to FIG. 9 , the error detector 140 comprises a codeword leading unit 300 , a leading codeword polynomial operating unit 320 , a remainder checking unit 340 , and an error determining unit 360 .

The codeword leading unit 300 reads the recorded codeword, and outputs the read codeword to the leading codeword polynomial operating unit 320 .

The leading codeword polynomial operating unit 320 receives the codeword from the codeword leading unit 300 , calculates a leading codeword polynomial having the received codeword as a coefficient, divides the calculated leading codeword polynomial by the generating polynomial, and outputs the divided leading codeword polynomial to the remainder checking unit 340 .

The remainder checking unit 340 receives the leading codeword polynomial output from the leading codeword polynomial operating unit 320 , checks whether the remainder of the leading codeword polynomial is 0, and outputs the check result to the error determining unit 360 .

The error determining unit 360 determines whether the read codeword contains error events in response to the check result of the remainder checking unit 340 .

The error corrector 160 corrects error events in the read codeword using the error correction mechanism, which is a post-Viterbi based error event correlation filter. The error corrector 160 corrects error events in a codeword by finding error event locations and error event patterns of the codeword.

The method of detecting error events in a codeword reproduced by PMR according to an exemplary embodiment of the present invention, and an apparatus using the same, are excellent at detecting error events in a codeword reproduced by PMR.

The method of detecting error events in a codeword reproduced by PMR according to an exemplary embodiment of the present invention, and an apparatus using the same, can detect error events when a codeword recorded by PMR is read using a small number of bits, thereby achieving a high code rate.

The method of detecting error events in a codeword reproduced by PMR according to an exemplary embodiment of the present invention, and an apparatus using the same, can detect error events in a codeword and in the boundary between codewords.

The method of detecting error events in a codeword reproduced by PMR according to an exemplary embodiment of the present invention, and an apparatus using the same, are excellent at detecting dominant error events and non-dominant error events in a codeword reproduced by PMR.

While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims.

›Tables in the description — 1
TABLE 1
DetectabilityDetectability
Dominant error events(1 + x 2 + x 3 )(1 + x 3 + x 4 )
±[2]OO
±[2, −2]OO
±[2, −2, 2]OO
±[2, −2, 2, −2]OO
±[2, −2, 2, −2, 2]OO
±[2, −2, 2, −2, 2, −2]OO
±[2, −2, 2, −2, 2, −2, 2]XO
±[2, −2, 0, 2, −2]OO
±[2, −2, 0, 2, −2, 0, 2, −2]OO
±[2, −2, 0, 0, 2, −2]OO
±[2, −2, 0, 0, 2, −2, 0, 0, 2, −2]OO
1 of 7 part labels are ours — the grant heads the rest

Claims as granted

20 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

2 codes
IPC · International Patent Classification
Section H — Electricity
  • H03M13/00
USPC · US Patent Classification
714/781

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJul 2005Jan 2006Jul 2006Jan 2007Jul 2007Jan 2008Jul 2008Jan 2009Jul 2009Jan 2010Jul 2010Jan 2011USPTOApplicantNon-final rejectionFinal rejectionNotice of allowance
USPTOApplicanthover for detail · click to open
Pendency
5.1 y
1,854 days filing → grant
Office actions
2
non-final + final
Responses
3
no RCE
Examiner
Scott T Baderman
art unit 2112 · TC 2100
Citations: 8 back · 0 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20062008201020122014201620182020202220242026Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock