Vous êtes sur la page 1sur 5

Interleaving

Interleaving
In computer science and telecommunication, interleaving is a way to arrange data in a non-contiguous way to increase performance. It is typically used: In error-correction coding, particularly within data transmission, disk storage, and computer memory. For multiplexing of several input data over shared media. In telecommunication, it is implemented through dynamic bandwidth allocation mechanisms, where it may particularly be used to resolve quality of service and latency issues. In streaming media applications, it enables quasi-simultaneous reception of input streams, such as video and audio. For improved access performance in computer memory and computer data storage. Examples include non-contiguous storage patterns in disk storage, interleaved memory, and page coloring memory allocation strategies. Interleaving is also used for multidimensional data structures, see Z-order (curve).

Interleaving in disk storage


Historically, interleaving was used in ordering block storage on disk-based storage devices such as the floppy disk and the hard disk. The primary purpose of interleaving was to adjust the timing differences between when the computer was ready to transfer data, and when that data was actually arriving at the drive head to be read. Interleaving was very common prior to the 1990s, but faded from use as processing speeds increased. Modern disk storage is not interleaved. Interleaving was used to arrange the sectors in the most efficient manner possible, so that after reading a sector, time would be permitted for processing, and then the next sector in sequence is ready to be read just as the computer is ready to do so. Matching the sector interleave to the processing speed therefore accelerates the data transfer, but an incorrect interleave can make the system perform markedly slower.

Low-level format utility performing interleave speed tests on a 10-megabyte IBM PC XT hard drive.

Example
Information is commonly stored on disk storage in very small pieces referred to as sectors or blocks. These are arranged in concentric rings referred to as tracks across the surface of each disk. While it may seem easiest to order these blocks in direct serial order in each track, such as 1 2 3 4 5 6 7 8 9, for early computing devices this ordering was not practical. Data to be written or read is put into a special region of reusable memory referred to as a buffer. When data needed to be written, it was moved into the buffer, and then written from the buffer to the disk. When data was read, the reverse took place, transferring first into the buffer and then moved to where it was needed. Most early computers were not fast enough to read a sector, move the data from the buffer to somewhere else, and be ready to read the next sector by the time that next sector was appearing under the read head. When sectors were arranged in direct serial order, after the first sector was read the computer may spend the time it takes for three sectors to pass by before it is ready to receive data again. However with the sectors in direct order,

Interleaving sector two, three, and four have already passed by. The computer doesn't need sectors 4, 5, 6, 7, 8, 9, or 1, and must wait for these to pass by, before reading sector two. This waiting for the disk to spin around to the right spot slows the data transfer rate. To correct for the processing delays, the ideal interleave for this system would be 1:4, ordering the sectors like this: 1 8 6 4 2 9 7 5 3. It reads sector 1, processes for three sectors whereby 8 6 and 4 pass by, and just as the computer becomes ready again, sector two is arriving just as it is needed. Sometimes the interleave is expressed as a "skip factor",[1] [2] the number of physical sectors between consecutive logical sectors. A skip factor of 0 places the sectors sequentially1 2 3 4 5 6 ... . Modern disk storage does not need interleaving since the buffer space is now so much larger. Data is now more commonly stored as clusters which are groups of sectors, and the data buffer is sufficiently large to allow all sectors in a block to be read at once without any delay between sectors.

Interleaving in error-correction coding


Interleaving is frequently used in digital communication and storage systems to improve the performance of forward error correcting codes. Many communication channels are not memoryless: errors typically occur in bursts rather than independently. If the number of errors within a code word exceeds the error-correcting code's capability, it fails to recover the original code word. Interleaving ameliorates this problem by shuffling source symbols across several code words, thereby creating a more uniform distribution of errors.[3] The analysis of modern iterated codes, like turbo codes and LDPC codes, typically assumes an independent distribution of errors.[4] Systems using LDPC codes therefore typically employ additional interleaving across the symbols within a code word.[5] For turbo codes, an interleaver is an integral component and its proper design is crucial for good performance.[3] [6] The iterative decoding algorithm works best when there are not short cycles in the factor graph that represents the decoder; the interleaver is chosen to avoid short cycles. Interleaver designs include: rectangular (or uniform) interleavers (similar to the method using skip factors described above) convolutional interleavers random interleavers (where the interleaver is a known random permutation) S-random interleaver (where the interleaver is a known random permutation with the constraint that no input symbols within distance S appear within a distance of S in the output).[7] Another possible construction is a contention-free quadratic permutation polynomial (QPP).[8] It is used for example in the 3GPP Long Term Evolution mobile telecommunication standard.[9] In multi-carrier communication systems, additional interleaving across carriers may be employed to mitigate the effects of prohibitive noise on a single or few specific carriers (e.g., frequency-selective fading in OFDM transmission).[10]

Interleaving

Example
Transmission without interleaving: Error-free message: Transmission with a burst error: aaaabbbbccccddddeeeeffffgggg aaaabbbbccc____deeeeffffgggg

The codeword cddd is altered in four bits, so either it cannot be decoded at all or it might be decoded incorrectly. With interleaving: Error-free code words: Interleaved: Transmission with a burst error: Received code words after deinterleaving: aaaabbbbccccddddeeeeffffgggg abcdefgabcdefgabcdefgabcdefg abcdefgabcd____bcdefgabcdefg aa_abbbbccccdddde_eef_ffg_gg

In each of the codewords aaaa, eeee, ffff, gggg, only one bit is altered, so one-bit error-correcting-code will decode everything correctly. Transmission without interleaving:
Original transmitted sentence: Received sentence with a burst error: ThisIsAnExampleOfInterleaving ThisIs______pleOfInterleaving

The term "AnExample" ends up mostly unintelligible and difficult to correct. With interleaving:
Transmitted sentence: Error-free transmission: Received sentence with a burst error: Received sentence after deinterleaving: ThisIsAnExampleOfInterleaving... TIEpfeaghsxlIrv.iAaenli.snmOten. TIEpfe______Irv.iAaenli.snmOten. T_isI_AnE_amp_eOfInterle_vin_...

No word is completely lost and the missing letters can be recovered with minimal guesswork.

Disadvantages of interleaving
Use of interleaving techniques increases latency. This is because the entire interleaved block must be received before the packets can be decoded.[11] Also interleavers hide the structure of errors; without an interleaver, more advanced decoding algorithms can take advantage of the error structure and achieve more reliable communication than a simpler decoder combined with an interleaver.

References
[1] [2] [3] [4] [5] [6] [7] [8] "Function Requests Specification" (http:/ / makbit. com/ articles/ mscdex. txt) "Disk skip factor explained" (http:/ / www. coco3. com/ community/ 2010/ 06/ disk-skip-factor-explained-please) B. Vucetic, J. Yuan (2000). Turbo codes: principles and applications. Springer Verlag. ISBN978-0792378686. M. Luby, M. Mitzenmacher, A. Shokrollahi, D. Spielman, V. Stemann (1997). "Practical Loss-Resilient Codes". Proc. 29th annual Association for Computing Machinery (ACM) symposium on Theory of computation. "Digital Video Broadcast (DVB); Second generation framing structure, channel coding and modulation systems for Broadcasting, Interactive Services, News Gathering and other satellite broadband applications (DVB-S2)". En 302 307 (ETSI) (V1.2.1). April 2009 K. Andrews et al. (November 2007). "The Development of Turbo and LDPC Codes for Deep-Space Applications". Proc. of the IEEE 95 (11). S. Dolinar and D. Divsalar. Weight Distributions for Turbo Codes Using Random and Nonrandom Permutations. 1995. (http:/ / citeseerx. ist. psu. edu/ viewdoc/ download?doi=10. 1. 1. 105. 6640& rep=rep1& type=pdf) Takeshita, Oscar (2006). Permutation Polynomial Interleavers: An Algebraic-Geometric Perspective. arXiv:cs/0601048

[9] 3GPP TS 36.212 (http:/ / www. 3gpp. org/ ftp/ Specs/ html-info/ 36212. htm), version 8.8.0, page 14 [10] "Digital Video Broadcast (DVB); Frame structure, channel coding and modulation for a second generation digital terrestrial television broadcasting system (DVB-T2)". En 302 755 (ETSI) (V1.1.1). September 2009

Interleaving
[11] "Explaining Interleaving - TechGeeks Online" (http:/ / techgeeks-online. com/ 2010/ explaining-interleaving/ ). techgeeks-online.com. . Retrieved 2010-06-03.

Article Sources and Contributors

Article Sources and Contributors


Interleaving Source: http://en.wikipedia.org/w/index.php?oldid=431798041 Contributors: 16@r, Adem3311, Adrian J. Hunter, Akiha, Alexander Chervov, AnnaBananaBear, Baldur, Bjoern.thalheim, Bookandcoffee, CamD, Cantalamessa, Conti, DMahalko, David Jordan, DavidCary, Dougher, Edratzer, Espoo, Eyreland, Fantasy, Gaius Cornelius, Gracefool, Grayshi, Gurch, Hangways, Hermann.tropf, Heron, Intgr, MFNickster, Michael Hardy, Misteror, Moala, Nageh, Nick Drake, R'n'B, Racklever, Radiojon, Remuel, Rilak, Serrano24, SkipHuffman, Slaniel, Srleffler, The Anome, Tony1, Toytown Mafia, Villamota, Vincnet, Wknight94, 49 anonymous edits

Image Sources, Licenses and Contributors


Image:IBM PC XT 10 meg MFM low level format.jpg Source: http://en.wikipedia.org/w/index.php?title=File:IBM_PC_XT_10_meg_MFM_low_level_format.jpg License: unknown Contributors: Bkell, DMahalko, Phatom87, We hope, 1 anonymous edits

License
Creative Commons Attribution-Share Alike 3.0 Unported http:/ / creativecommons. org/ licenses/ by-sa/ 3. 0/

Vous aimerez peut-être aussi