# Patent

## Title
Method of code generation, and method and apparatus for code modulation

## Abstract

A method of generating codewords that conform to a run length limited (RLL) constraint represented by (d, k, a, b), where d is a minimum run length of a codeword, k is a maximum run length of the codeword, a is a length of source data, and b is a length of the codeword. The method includes generating codewords conforming to the RLL(d, k) constraint, and removing codewords in which a relatively long T and a relatively short T are placed adjacent to each other from the generated codewords.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of PCT International Patent Application No. PCT/KR2005/002895, filed Sep. 1, 2005, and Korean Application No. 2004-71787, filed Sep. 8, 2004, in the Korean Intellectual Property Office, the disclosures of which are incorporated herein by reference.
BACKGROUND OF THE INVENTION
1. Field of the Invention
Aspects of the present invention relate to data modulation, and, more particularly, to a method of code generation and a method and apparatus to allow for code modulation.
2. Description of the Related Art
Run length limited (RLL) codes are some of the most commonly used modulated codes in a data recording system, such as an optical disc drive system. RLL codes limit the run length of a code stream. Here, the term ‘run’ refers to the number of consecutive zeros between ones in a code stream. The RLL codes are defined according to a constraint, RLL(d, k), where d is the minimum number of zeros between ones and k is the maximum number of zeros between ones in a code stream. The value of k is restricted such that at least one transition occurs at intervals of k+1 bits in a modulated non-return-to-zero inverted (NRZI) waveform, allowing the system to recover a timing signal within a time of k+1 bits.
In addition to referring to the minimum number of zeros between ones, the value of d also refers to a minimum time interval between consecutive transitions in the NRZI waveform that is determined to avoid inter-symbol interference (ISI). Further, it is noted that RLL(2, 10) and RLL(1, 7) constraints are widely used in modern optical discs. However, as the bit density on a disc increases, the length of marks recorded on the disc decreases to the point where recording and reproducing data with existing RLL constraint codes may become problematic.
FIGS. 1A and 1B show analog signals detected from a disc on which 8T, 2T, 4T, and 6T waveform segments of RLL(1, 7) codes are recorded.
FIG. 1A shows analog signals detected from a disc on which 8T, 2T, 4T, and 6T waveform segments are recorded within a relatively long mark. As shown in FIG. 1A, even though a relatively long segment (8T) is recorded next to a relatively short segment (2T), since the mark is relatively long, the signal may be well detected.
FIG. 1B shows analog signals detected from a disc on which 8T, 2T, 4T, and 6T waveform segments are recorded within a relatively short mark. As shown in FIG. 1B, the 8T, 2T, 4T, and 6T waveform segments are recorded on the disc in the same order as in FIG. 1A. However, since the mark is relatively short and a short segment (2T) is recorded next to a long segment (8T) within the short mark, the short segment (2T) may not be detected clearly.
The reason for this is that when a recording process is performed on a high density medium, such as a super-resolution near-filed structure (super-RENS) medium, a large amount of energy is applied to record a relatively long waveform segment. The large amount of energy heats the recording medium and affects subsequent recording processes. In particular, when a relatively short waveform segment is recorded immediately following a longer segment within a short mark, the heating of the medium during the recording of the longer segment reduces the clarity and distinction with which the following shorter segment is recorded. Consequently, when a mark is as small as is allowed, recording relatively short segments adjacent to relatively long segments often results in poor detection of the short segment.
SUMMARY OF THE INVENTION
Aspects of the present invention provide a method of code generation, and a method and an apparatus to allow for code modulation in which a performance of detecting data recorded as RLL codes on a disc is improved even when marks are short while conforming to RLL(d, k) constraints.
According to an aspect of the present invention, reproduction performance of codewords recorded on a recording medium is improved, even if a mark length is short, by the arrangement of code segments such that relatively long Ts and relatively short Ts are not placed adjacent to each other in each codeword. Aspects of the present invention are also applicable to a system using data divided into user data and parity data by an application of the code arrangement method to at least part of the user data or at least part of the parity data to increase the reliability of important data.
According to an aspect of the present invention, there is provided a method of generating codewords conforming to a run length limited (RLL) constraint represented by (d, k, a, b), where d is a minimum run length of a codeword, k is a maximum run length of the codeword, a is a length of source data, and b is a length of the codeword. The method comprises generating codewords conforming to the RLL(d, k) constraint; and removing codewords in which a relatively long T and a relatively short T are placed adjacent to each other from the generated codewords.
According to an aspect of the present invention, the relatively short T, denoted nT, and the relatively long T, denoted mT, are selected as follows:

    
    
        when k−d is an odd number, n is selected from among d+1, d+2, . . . , d+(k−d+1)/2, and m is selected from among (k+1)−(k−d+1)2+1, . . . , k+1, and
        when k−d is an even number, n is selected from among d+1, d+2, . . . , d+(k−d)/2, and m is selected from among (k+1)−(k−d)2+1, . . . , (k+1)−1, k+1.
    
    


According to an aspect of the present invention, removing codewords is performed by removing codewords in which at least one of 2T and 7T, 2T and 8T, 3T and 7T, and 3T and 8T are placed adjacent to each other, when d=1, and k=7.
According to another aspect of the present invention, there is provided an apparatus to modulate ‘a’ bits of source data to ‘b’ bits of a codeword conforming to run length constraint ranging from a minimum run length ‘d’ to a maximum run length ‘k’, the apparatus comprising: a modulation unit that modulates the source data into the codeword by arranging the codeword such that a relatively long T and a relatively short T are not placed adjacent to each other in the codeword.
According to an aspect of the present invention, the relatively short T, denoted nT, and the relatively long T, denoted mT, are selected as follows:

    
    
        when k−d is an odd number, n is selected from among d+1, d+2, . . . , d+(k−d+1)/2, and m is selected from among (k+1)−(k−d+1)2+1, . . . , k+1, and
        when k−d is an even number, n is selected from among d+1, d+2, . . . , d+(k−d)/2, and m is selected from among (k+1)−(k−d)2+1, . . . , (k+1)−1, k+1.
    
    


According to an aspect of the present invention, if d=1 and k=7, the relatively short T and the relatively long T correspond to at least one pair selected from (2T 7T), (2T 8T), (3T 7T), and (3T 8T).
According to still another invention, there is provided a method of modulating ‘a’ bits of source data to ‘b’ bits of a codeword conforming to run length constraint ranging from a minimum run length ‘d’ to a maximum run length ‘k’, the method comprising: modulating the source data into the codeword by arranging the codeword such that a relatively long T and a relatively short T are not placed adjacent to each other in the codeword.
According to an aspect of the present invention, the relatively short T denoted nT and the relatively long T denoted mT, are selected as follows:

    
    
        when k−d is an odd number, n is selected from among d+1, d+2, . . . , d+(k−d+1)/2, and m is selected from among (k+1)−(k−d+1)2+1, . . . , k+1, and
        when k−d is an even number, n is selected from among d+1, d+2, . . . , d+(k−d)/2, and m is selected from among (k+1)−(k−d)2+1, . . . , (k+1)−1, k+1.
    
    


According to an aspect of the present invention, if d=1 and k=7, the relatively short T and the relatively long T correspond to at least one pair selected from (2T, 7T), (2T, 8T), (3T, 7T), and (3T, 8T).
Additional and/or other aspects and advantages of the invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.



BRIEF DESCRIPTION OF THE DRAWINGS
These and/or other aspects and advantages of the invention will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
FIG. 1A shows a conventional long mark having waveform sections of lengths 8T, 2T 4T, and 6T;
FIG. 1B shows a conventional short mark having waveform sections of lengths of 8T, 2T, 4T, and 6T,
FIG. 2 shows waveform sections to aid in explaining code arrangement that improves reproduction even when the codes are recorded in a short mark, according to an embodiment of the present invention;
FIG. 3 is a flowchart illustrating a method of code arrangement according to an embodiment of the present invention;
FIG. 4 is a block diagram of an exemplary apparatus for code modulation according to an embodiment of the present invention;
FIG. 5 is a block diagram of n exemplary apparatus for code demodulation according to an embodiment of the present invention;
FIGS. 6A through 6E are exemplary code conversion tables according to an embodiment of the present invention;
FIG. 7A is a photograph of the screen of an oscilloscope showing code reproduction performance in PLL operation with RLL(1, 7) codes without adjacent run length constraint; and
FIG. 7B is a photograph of the screen of an oscilloscope showing code reproduction performance in PLL operation with RLL(1, 7) codes with adjacent run length constraint according to the present invention.



DETAILED DESCRIPTION OF THE EMBODIMENTS
Reference will now be made in detail to the present embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present invention by referring to the figures.
FIG. 2 shows waveform sections to aid in explaining a code arrangement that improves reproduction even when the codes are recorded in a short mark, according to an embodiment of the present invention.
As shown in FIG. 2, relatively short RLL(1, 7) code sections of lengths 4T, 2T, 3T, 5T, 2T, 3T, and 4T, which are recorded in a short mark as shown in FIG. 1B, are recovered as an analog signal. In this case, the detection rate (reproduction performance) for the various 2T sections shown in FIG. 2 is higher than that of FIG. 1B, since the 2T sections of FIG. 2 are recorded adjacent to waveform sections that are not very much longer (3T, 4T and 5T sections).
Accordingly, aspects of the present invention improve a code detection rate when code segments are recorded in short marks by arranging code segments such that relatively short Ts and relatively long Ts are not placed adjacent to each other, while conforming to conventional run length constraints.
FIG. 3 is a flowchart illustrating a method of a code arrangement according to aspects of the present invention.
First, in operation 310, code generation is performed that satisfies a certain run length constraint. For example, in performing code modulation where source data of 8 bits is to be converted into a codeword of 14 bits, the number of possible combinations of codewords with 0's and 1's is 214. Here, if the RLL(1, 7) constraint is given, codewords having 1-7 zeros between ones are selected from the 214 codewords.
Next, in operation 320, codewords selected in operation 310 are arranged such that relatively long Ts and relatively short Ts are not placed adjacent to each other. To this end, lengths of relatively long Ts, denoted by mT, and relatively short Ts, denoted by nT, can be determined according to rules (1) and (2) as follows:
(1) when k−d is an odd number, n is selected to be at least one of d+1, d+2, . . . , d+(k−d+1)/2, and m is selected to be at least one of (k+1)−(k−d+1)/2+1, . . . , (k+1)−1, k+1, and
(2) when k−d is an even number, n is selected to be at least one of d+1, d+2, . . . , d+(k−d)/2, and m is selected to be at least one of (k+1)−(k−d)/2+1, . . . (k+1)−1, k+1.
Accordingly, specific examples of a pair of nT and mT are determined. For example, if k=7 and d=1, since k−d=6, an even number, the pair (nT, mT) is determined according to rule (2). In other words, n is selected to be at least one of 2, 3, and 4, and m is selected to be at least one of 6, 7, and 8, according to rule (2). Thus, the pair may be (2T, 6T), (2T 7T), (2T, 8T) (3T, 6T), (3T, 7T), (3T, 8T), (4T, 6T), (4T, 7T), or (4T 8T).
As such, code arrangement is performed to exclude codewords in which relatively long Ts and relatively short Ts corresponding to at least one of the pairs are placed adjacent to each other. It should be appreciated that various other methods of determining the long and short T's may also be applied within the scope of the present invention. In addition, the extent to which the length of the relatively long T or relatively short T may be determined depends on the system to which the invention is applied.
It will also be understood by those skilled in the art that codewords are further arranged to maintain a good DC balance of code streams for source data, and to conform to certain constraints on the minimum run lengths that run between codewords (RMTR).
FIGS. 6A through 6E are exemplary code conversion tables according to an embodiment of the present invention. As shown in FIGS. 6A through 6E, the code conversion tables includes codewords that are modulated according to RLL(1, 7) and are arranged such that 2T and 7T, 2T and 8T, 3T and 7T, and 3T and 8T are not placed adjacent to each other in each codeword. The code conversion tables are comprised of 3 states which each include a next code group (NCG) to indicate a next code to be modulated.
FIG. 4 is an example of a code modulation apparatus according to an embodiment of the present invention. As shown in FIG. 4, the apparatus includes a modulation unit 420, a modulation table 430, an NRZI conversion unit 440, and a recording unit 450. The modulation unit 420 receives input symbol data 410 and converts the received input symbol data into a codeword by referring to the modulation table 430. The modulation table 430 includes codewords that are arranged according to an embodiment of the present invention such that relatively long Ts and relatively short Ts are not placed adjacent to each other in each codeword, as shown in the tables of FIGS. 6A through 6E. The NRZI conversion unit 440 NRZI-converts the codeword received from the modulation unit 420 and provides the NRZI-converted result to the recording unit 450. The recording unit 450 records the NRZI converted codeword received from the NRZI conversion unit 440 onto a disc 460 or any other suitable recording medium.
FIG. 5 is an example of a code demodulation apparatus according to an embodiment of the present invention. As shown in FIG. 5, the apparatus includes a reading unit 520, an equalizer 530, a phase locked loop (PLL) circuit 540, a demodulation unit 550, and a demodulation table 560. The reading unit 520 reads a codeword from a disc 510 and provides the read codeword to the equalizer 530. The equalizer 530 equalizes the codeword received from the reading unit 520, and provides the equalized result to the PLL circuit 540. The PLL circuit 540 provides the codeword received from the equalizer 540 to the demodulation unit 550. The demodulation unit 550 demodulates the codeword received from the PLL circuit 540 by referring to the demodulation table 560. The demodulation table 560 is identical to the modulation table 430 having codewords arranged such that relatively long Ts and relatively short Ts are not placed adjacent to each other.
FIG. 7A shows code reproduction performance in phase locked loop (PLL) operation with RLL(1, 7) codes without an adjacent run length constraint, and FIG. 7B shows code reproduction performance in PLL operation with RLL(1, 7) codes with an adjacent run length constraint, according to an embodiment of the present invention. The code reproduction performance for codes with and without adjacent run length constraint may be judged based on whether the PLL circuit operates.
As shown in FIG. 7A, general RLL(1, 7) codes without any adjacent run length constraint cause the PLL circuit to operate as long as the minimum length of the mark is at least 107 nm. Meanwhile, as shown in FIG. 7B, codes arranged according to an embodiment of the present invention such that 2T and 7T, 2T and 8T, 3T and 7T, and 3T and 8T are not placed adjacent to each other in each codeword cause the PLL circuit to operate as long as the minimum length of the mark is at least 75 nm.
It is possible for the method of code generation and code modulation described above according to an aspect of the present invention to be implemented as a computer program. Codes and code segments constituting the computer program may readily be inferred by those skilled in the art. The computer programs may be recorded on computer-readable media and read and executed by computers. Such computer-readable media include all kinds of storage devices, such as ROM, RAM, CD-ROM, magnetic tape, floppy disc, optical data storage devices, etc. The computer readable media also include everything that is realized in the form of carrier waves, e.g., transmission over the Internet. The computer-readable media may be distributed to computer systems connected to a network, and codes on the distributed computer-readable media may be stored and executed in a decentralized fashion.
Although a few embodiments of the present invention have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.

## Claims

1. A method of generating codewords that conform to a run length limited (RLL) constraint represented by (d, k, a, b), where d is a minimum run length of a codeword, k is a maximum run length of the codeword, a is a length of source data, and b is a length of the codeword, the method comprising:
generating codewords conforming to the RLL(d, k) constraint; and
removing codewords in which a relatively long waveform segment T and a relatively short T are placed adjacent to each other from the generated codewords.

2. The method according to claim 1, wherein the relatively short T, denoted nT, and the relatively long T, denoted mT, are selected as follows:
when k−d is an odd number, n is selected from among d+1, d+2, . . . , d+(k−d+1)/2, and m is selected from among (k+1)−(k−d+1)2+1, . . . , k+1, and
when k−d is an even number, n is selected from among d+1, d+2, . . . , d+(k−d)/2, and m is selected from among (k+1)−(k−d)2+1, . . . , (k+1)−1, k+1.

3. The method according to claim 1, wherein the removing of codewords is performed by removing codewords in which at least one of 2T and 7T, 2T and 8T, 3T and 7T, and 3T and 8T are placed adjacent to each other, when d=1, and k=7.

4. An apparatus to modulate ‘a’ bits of source data to ‘b’ bits of a codeword that conforms to a run length constraint ranging from a minimum run length ‘d’ to a maximum run length ‘k’, comprising a modulation unit that modulates the source data into the codeword by arranging the codeword such that a relatively long waveform segment T and a relatively short T are not placed adjacent to each other in the codeword.

5. The apparatus according to claim 4, wherein the relatively short T, denoted nT, and the relatively long T, denoted mT, are selected as follows:
when k−d is an odd number, n is selected from among d+1, d+2, . . . , d+(k−d+1)/2, and m is selected from among (k+1)−(k−d+1)2+1, . . . , k+1, and
when k−d is an even number, n is selected from among d+1, d+2, . . . , d+(k−d)/2, and m is selected from among (k+1)−(k−d)2+1, . . . , (k+1)−1, k+1.

6. The apparatus according to claim 4, wherein, if d=1 and k=7, the relatively short T and the relatively long T correspond to at least one pair selected from (2T, 7T), (2T, 8T), (3T, 7T), and (3T, 8T).

7. A method of modulating ‘a’ bits of source data to ‘b’ bits of a codeword that conforms to a run length constraint ranging from a minimum run length ‘d’ to a maximum run length ‘k’, the method comprising modulating the source data into the codeword by arranging the codeword such that a relatively long waveform segment T and a relatively short T are not placed adjacent to each other in the codeword.

8. The method according to claim 7, wherein the relatively short T, denoted nT, and the relatively long T, denoted mT, are selected as follows:
when k−d is an odd number, n is selected from among d+1, d+2, . . . , d+(k−d+1)/2, and m is selected from among (k+1)−(k−d+1)2+1, . . . , k+1, and
when k−d is an even number, n is selected from among d+1, d+2, . . . , d+(k−d)/2, and m is selected from among (k+1)−(k−d)2+1, . . . , (k+1)−1, k+1.

9. The method according to claim 7, wherein, if d=1 and k=7, the relatively short T and the relatively long T correspond to at least one pair selected from (2T, 7T), (2T, 8T), (3T, 7T), and (3T, 8T).

10. A method of generating codewords that conform to a run length limited (RLL) constraint represented by (d, k, a, b), where d is a minimum run length of a codeword, k is a maximum run length of the codeword, a is a length of source data, and b is a length of the codeword, the method comprising generating codewords conforming to the RLL(d, k) constraint in which a relatively long waveform segment T and a relatively short T are not adjacent to each other.

11. The method according to claim 10, wherein the relatively short T, denoted nT, and the relatively long T, denoted mT, are selected as follows:
when k−d is an odd number, n is selected from among d+1, d+2, . . . , d+(k−d+1)/2, and m is selected from among (k+1)−(k−d+1)2+1, . . . , k+1, and
when k−d is an even number, n is selected from among d+1, d+2, . . . , d+(k−d)/2, and m is selected from among (k+1)−(k−d)2+1, . . . , (k+1)−1, k+1.

12. A code demodulation apparatus comprising:
a reading unit to read a codeword from a disc;
a demodulation table including codewords in which relatively long waveform segments Ts and relatively short Ts are not adjacent to each other; and
a demodulation unit to demodulate the codeword by referring to the demodulation table.

13. The code demodulation apparatus according to claim 12, further comprising an equalizer to equalize the codeword.

14. The code demodulation apparatus according to claim 12, further comprising a phase locked loop (PLL) circuit to provide the codeword to the demodulation unit.