Кодування з обмеженням довжини запису (англ. RLL, Run-length limited) — технологія кодування, яка застосовується для передачі даних через канал зв'язку із обмеженою смугою пропускання та для запису даних на магнітні, оптичні носії з метою уникнення зсуву бітів під час читання/запису. Використовувалась на жорстких дисках до 1980-х років; використовується на оптичних дисках (CD, DVD, MD, Hi-MD та Blu-ray). Скорочення RLL вжито інженерами компанії IBM в 1979 році під час розробки комп'ютера IBM 3370, де вперше застосована схема кодування RLL(2,7).
RLL є перетворенням послідовності бітів в послідовність наявностей чи відсутностей зміни сигналу. Схема кодування має два параметри run length та run limit, які означають мінімальну та максимальну відстань між двома змінами сигналу. Конкретна схема кодування записується як RLL(run length, run limit), наприклад, RLL(2,7). Перші жорсткі диски використовували дуже прості схеми, такі як RLL(0,1). Пізніше стали використовувати схеми RLL(1,7) та RLL(2,7).
Всі кодування, які застосовуються на магнітних дисках, обмежують довжину послідовностей, у яких відсутня зміна намагніченості, тому всіх їх можна віднести до RLL-кодувань. Найперші та найпростіші схеми кодування мали свої власні назви, наприклад, Modified Frequency Modulation (MFM), який фактично є RLL(1,3). Зазвичай позначення RLL застосовують лише для складніших схем, які не мають власних назв.
Навіщо потрібен RLL
У комп'ютері двійкові дані (0 чи 1) кодують відсутність чи наявність електричного струму (або заряду). На жорстких дисках дані зберігають як зміну напряму намагніченості ділянок диска. Потрібен метод перетворення магнітного сигналу в електричний і навпаки. Очевидним рішенням може здатися трактування відсутності зміни намагніченості як 0 і зміни намагніченості — як 1. Такий метод називається Non-Return-to-Zero-Inverted або NRZI. При застосуванні такого методу послідовність бітів 1010011 буде представлена у вигляді ++---±, якщо перед цим був -, або --+++-+, якщо перед цим був +. Але при застосуванні такого методу виникають проблеми.
По-перше, жорсткий диск обертається з деякою швидкістю і в магнітної голівки є якийсь певний проміжок часу, протягом якого вона може прочитати певний біт (це дещо спрощене твердження, детальніше дивись ZBR). Але через теплове розширення, деформацію чи недосконалість контролера, швидкість обертання може трохи коливатися. Тому при зчитуванні довгої послідовності нулів (які будуть записані як довга ділянка з однаковою намагніченістю), через непостійність швидкості неможливо буде дізнатися, скільки ж нульових бітів було записано. Наприклад, якщо записана послідовність із 4096 нульових бітів і диск обертається із швидкістю, яка може відхилятися на 0,1 %, то похибка у підрахунку зчитаних нульових бітів може сягати 4 бітів. Тобто, ділянка з 4096 нульових бітів може бути прочитана або як 4092, або як 4100 нульових бітів, що зробить дані абсолютно неправильними. Тому потрібна така схема, у якій послідовності нулів кодують зі змінами намагніченості, щоб магнітна голівка могла синхронізуватися.
Другою проблемою є те, що на магнітних носіях обмежена частота змін намагніченості — на ділянку можна записати не більше якоїсь певної кількості змін намагніченості. Тому бажана така схема кодування, в якій кількість змін намагніченості менша за кількість бітів зі значенням 1, або іншими словами, кількість змін намагніченості на кодування одиничного біта менша одиниці.
Кодування
Зміна намагніченості на протилежну позначатиметься як «^», а відсутність зміни позначатиметься як «-».
RLL(0,1) або FM
Біт | Зміни намагніченості | Ймовірність появи в потоку даних | Кількість змін намагніченості на біт |
---|---|---|---|
0 | ^- | 50 % | 1 |
1 | ^^ | 50 % | 2 |
Середнє значення | 1.5 |
RLL(0,2) або GCR
Біти | Зміни намагніченості | Ймовірність появи в потоку даних | Кількість змін намагніченості на біт |
---|---|---|---|
0000 | ^^--^ | 6.25 % | 3/4 |
0001 | ^^-^^ | 6.25 % | 1 |
0010 | ^--^- | 6.25 % | 1/2 |
0011 | ^--^^ | 6.25 % | 3/4 |
0100 | ^^^-^ | 6.25 % | 1 |
0101 | ^-^-^ | 6.25 % | 3/4 |
0110 | ^-^^- | 6.25 % | 3/4 |
0111 | ^-^^^ | 6.25 % | 1 |
1000 | ^^-^- | 6.25 % | 3/4 |
1001 | -^--^ | 6.25 % | 1/2 |
1010 | -^-^- | 6.25 % | 1/2 |
1011 | -^-^^ | 6.25 % | 3/4 |
1100 | ^^^^- | 6.25 % | 1 |
1101 | -^^-^ | 6.25 % | 3/4 |
1110 | -^^^- | 6.25 % | 3/4 |
1111 | -^^^^ | 6.25 % | 1 |
Середнє значення | 0.78125 |
RLL(1,3) або MFM
Біти | Зміни намагніченості | Ймовірність появи в потоку даних | Кількість змін намагніченості на біт |
---|---|---|---|
0 (після 0) | ^- | 25 % | 1 |
0 (після 1) | -- | 25 % | 0 |
1 | -^ | 50 % | 1 |
Середнє значення | 0.75 |
RLL(1,7)
У схемі RLL(1,7) пара бітів (x, y) перетворюється на (НЕ x, x ТА y, НЕ y), окрім випадків, де має місце послідовність (x, -, -, y), яка перетворюється на (НЕ x, x ТА y, НЕ y, -, -, -). Якщо є можливість закодувати одразу чотири біти, так і робиться. Якщо такої можливості нема, то закодовується лише два біти.
Біти | Зміни намагніченості | Ймовірність появи в потоку даних | Кількість змін намагніченості на біт |
---|---|---|---|
00 | ^-^ | 12.5 % | 1 |
01 | ^-- | 25 % | 1/2 |
10 | --^ | 12.5 % | 1/2 |
11 | -^- | 25 % | 1/2 |
0000 | ^-^ — | 6.25 % | 1/2 |
0001 | ^-- — | 6.25 % | 1/4 |
1000 | --^ — | 6.25 % | 1/4 |
1001 | -^- — | 6.25 % | 1/4 |
Середнє значення | 0.515625 |
RLL(2,7)
Біти | Закодовані біти | Ймовірність появи в потоку даних | Кількість змін намагніченості на біт |
---|---|---|---|
10 | -^-- | 25 % | 1/2 |
11 | ^--- | 25 % | 1/2 |
000 | --- ^-- | 12.5 % | 1/3 |
010 | ^-- ^-- | 12.5 % | 2/3 |
011 | --^ — | 12.5 % | 1/3 |
0010 | --^- -^-- | 6.25 % | 1/2 |
0011 | ---- ^--- | 6.25 % | 1/4 |
Середнє значення | 0.4635 |
Приклади
Для прикладу закодуємо послідовність бітів 10110010 різними схемами кодування
Схема кодування | Вихідна послідовність | Закодована послідовність |
---|---|---|
RLL(0,1) | 10110010 | ^^^-^^^^^-^-^^^- |
RLL(0,2) | 1011 0010 | -^-^^ ^--^- |
RLL(1,3) | 10110010 | -^---^-^--^--^-- |
RLL(1,7) | 10 11 00 10 | --^ -^- ^-^ --^ |
RLL(2,7) | 10 11 0010 | -^-- ^--- --^--^-- |
Див. також
Посилання
- Кодирование с ограничением длины поля записи [Архівовано 20 грудня 2016 у Wayback Machine.] (рос.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Ne varto plutati iz RLE Run length encoding Koduvannya z obmezhennyam dovzhini zapisu angl RLL Run length limited tehnologiya koduvannya yaka zastosovuyetsya dlya peredachi danih cherez kanal zv yazku iz obmezhenoyu smugoyu propuskannya ta dlya zapisu danih na magnitni optichni nosiyi z metoyu uniknennya zsuvu bitiv pid chas chitannya zapisu Vikoristovuvalas na zhorstkih diskah do 1980 h rokiv vikoristovuyetsya na optichnih diskah CD DVD MD Hi MD ta Blu ray Skorochennya RLL vzhito inzhenerami kompaniyi IBM v 1979 roci pid chas rozrobki komp yutera IBM 3370 de vpershe zastosovana shema koduvannya RLL 2 7 RLL ye peretvorennyam poslidovnosti bitiv v poslidovnist nayavnostej chi vidsutnostej zmini signalu Shema koduvannya maye dva parametri run length ta run limit yaki oznachayut minimalnu ta maksimalnu vidstan mizh dvoma zminami signalu Konkretna shema koduvannya zapisuyetsya yak RLL run length run limit napriklad RLL 2 7 Pershi zhorstki diski vikoristovuvali duzhe prosti shemi taki yak RLL 0 1 Piznishe stali vikoristovuvati shemi RLL 1 7 ta RLL 2 7 Vsi koduvannya yaki zastosovuyutsya na magnitnih diskah obmezhuyut dovzhinu poslidovnostej u yakih vidsutnya zmina namagnichenosti tomu vsih yih mozhna vidnesti do RLL koduvan Najpershi ta najprostishi shemi koduvannya mali svoyi vlasni nazvi napriklad Modified Frequency Modulation MFM yakij faktichno ye RLL 1 3 Zazvichaj poznachennya RLL zastosovuyut lishe dlya skladnishih shem yaki ne mayut vlasnih nazv Zmist 1 Navisho potriben RLL 2 Koduvannya 2 1 RLL 0 1 abo FM 2 2 RLL 0 2 abo GCR 2 3 RLL 1 3 abo MFM 2 4 RLL 1 7 2 5 RLL 2 7 3 Prikladi 4 Div takozh 5 PosilannyaNavisho potriben RLLred U komp yuteri dvijkovi dani 0 chi 1 koduyut vidsutnist chi nayavnist elektrichnogo strumu abo zaryadu Na zhorstkih diskah dani zberigayut yak zminu napryamu namagnichenosti dilyanok diska Potriben metod peretvorennya magnitnogo signalu v elektrichnij i navpaki Ochevidnim rishennyam mozhe zdatisya traktuvannya vidsutnosti zmini namagnichenosti yak 0 i zmini namagnichenosti yak 1 Takij metod nazivayetsya Non Return to Zero Inverted abo NRZI Pri zastosuvanni takogo metodu poslidovnist bitiv 1010011 bude predstavlena u viglyadi yaksho pered cim buv abo yaksho pered cim buv Ale pri zastosuvanni takogo metodu vinikayut problemi Po pershe zhorstkij disk obertayetsya z deyakoyu shvidkistyu i v magnitnoyi golivki ye yakijs pevnij promizhok chasu protyagom yakogo vona mozhe prochitati pevnij bit ce desho sproshene tverdzhennya detalnishe divis ZBR Ale cherez teplove rozshirennya deformaciyu chi nedoskonalist kontrolera shvidkist obertannya mozhe trohi kolivatisya Tomu pri zchituvanni dovgoyi poslidovnosti nuliv yaki budut zapisani yak dovga dilyanka z odnakovoyu namagnichenistyu cherez nepostijnist shvidkosti nemozhlivo bude diznatisya skilki zh nulovih bitiv bulo zapisano Napriklad yaksho zapisana poslidovnist iz 4096 nulovih bitiv i disk obertayetsya iz shvidkistyu yaka mozhe vidhilyatisya na 0 1 to pohibka u pidrahunku zchitanih nulovih bitiv mozhe syagati 4 bitiv Tobto dilyanka z 4096 nulovih bitiv mozhe buti prochitana abo yak 4092 abo yak 4100 nulovih bitiv sho zrobit dani absolyutno nepravilnimi Tomu potribna taka shema u yakij poslidovnosti nuliv koduyut zi zminami namagnichenosti shob magnitna golivka mogla sinhronizuvatisya Drugoyu problemoyu ye te sho na magnitnih nosiyah obmezhena chastota zmin namagnichenosti na dilyanku mozhna zapisati ne bilshe yakoyis pevnoyi kilkosti zmin namagnichenosti Tomu bazhana taka shema koduvannya v yakij kilkist zmin namagnichenosti mensha za kilkist bitiv zi znachennyam 1 abo inshimi slovami kilkist zmin namagnichenosti na koduvannya odinichnogo bita mensha odinici Koduvannyared Zmina namagnichenosti na protilezhnu poznachatimetsya yak a vidsutnist zmini poznachatimetsya yak RLL 0 1 abo FMred Bit Zmini namagnichenosti Jmovirnist poyavi v potoku danih Kilkist zmin namagnichenosti na bit 0 50 1 1 50 2 Serednye znachennya 1 5 RLL 0 2 abo GCRred Biti Zmini namagnichenosti Jmovirnist poyavi v potoku danih Kilkist zmin namagnichenosti na bit 0000 6 25 3 4 0001 6 25 1 0010 6 25 1 2 0011 6 25 3 4 0100 6 25 1 0101 6 25 3 4 0110 6 25 3 4 0111 6 25 1 1000 6 25 3 4 1001 6 25 1 2 1010 6 25 1 2 1011 6 25 3 4 1100 6 25 1 1101 6 25 3 4 1110 6 25 3 4 1111 6 25 1 Serednye znachennya 0 78125 RLL 1 3 abo MFMred Biti Zmini namagnichenosti Jmovirnist poyavi v potoku danih Kilkist zmin namagnichenosti na bit 0 pislya 0 25 1 0 pislya 1 25 0 1 50 1 Serednye znachennya 0 75 RLL 1 7 red U shemi RLL 1 7 para bitiv x y peretvoryuyetsya na NE x x TA y NE y okrim vipadkiv de maye misce poslidovnist x y yaka peretvoryuyetsya na NE x x TA y NE y Yaksho ye mozhlivist zakoduvati odrazu chotiri biti tak i robitsya Yaksho takoyi mozhlivosti nema to zakodovuyetsya lishe dva biti Biti Zmini namagnichenosti Jmovirnist poyavi v potoku danih Kilkist zmin namagnichenosti na bit 00 12 5 1 01 25 1 2 10 12 5 1 2 11 25 1 2 0000 6 25 1 2 0001 6 25 1 4 1000 6 25 1 4 1001 6 25 1 4 Serednye znachennya 0 515625 RLL 2 7 red Biti Zakodovani biti Jmovirnist poyavi v potoku danih Kilkist zmin namagnichenosti na bit 10 25 1 2 11 25 1 2 000 12 5 1 3 010 12 5 2 3 011 12 5 1 3 0010 6 25 1 2 0011 6 25 1 4 Serednye znachennya 0 4635Prikladired Dlya prikladu zakoduyemo poslidovnist bitiv 10110010 riznimi shemami koduvannya Shema koduvannya Vihidna poslidovnist Zakodovana poslidovnist RLL 0 1 10110010 RLL 0 2 1011 0010 RLL 1 3 10110010 RLL 1 7 10 11 00 10 RLL 2 7 10 11 0010 nbsp Div takozhred Manchesterskij kod Poperednya korekciya pomilokPosilannyared Kodirovanie s ogranicheniem dliny polya zapisi Arhivovano 20 grudnya 2016 u Wayback Machine ros Otrimano z https uk wikipedia org w index php title RLL amp oldid 35713844