Кіріспе

Коммуникациялық технологияда кодтау техникасы

Run length limited немесе RLL кодтау – жолақты кодтау техникасы, ол жолақты ені шектелген коммуникациялық арна арқылы кез келген деректерді жіберу үшін қолданылады. RLL кодтары төрт негізгі параметрмен анықталады: m, n, d, k. Алғашқы екеуі, m/n, кодтың жылдамдығын көрсетеді, ал қалған екеуі тізбектеп келген бірліктер арасындағы ең кем d және ең көп k нөлдер санын көрсетеді. Бұл телекоммуникация және сақтау жүйелерінде қолданылады, олар ортаны бекітілген жазу басының арқынан жылдырады. Атап айтқанда, RLL сигналдың өспейтін қайталама биттердің (секуенциялардың) ұзындығын шектейді. Егер секуенциялар тым ұзын болса, сағатты синхрондау қиын; егер олар тым қысқа болса, коммуникациялық арна жоғары жиіліктерді әлсірете алады. Деректерді модуляциялау арқылы RLL сақталған деректерді декодтаудағы уақыт белгісіздігін азайтады, бұл деректерді оқығанда қателіктерге алып келуі мүмкін, яғни биттердің енгізілуіне немесе жойылуына. Бұл механизм биттер арасындағы шекараларды әрқашан дәл табуға мүмкіндік береді (биттердің жылғанын болдырмайды), сонымен қатар белгілі бір кеңістікте максималды дерек көлемін сенімді сақтау үшін ортаны тиімді пайдаланады. Алғашқы дискілік жетектерде RLL (0,1) FM коды сияқты өте қарапайым кодтау схемалары қолданылды, одан кейін RLL (1,3) MFM коды қолданылды, олар 1980-ші жылдардың ортасына дейін кеңінен қолданылды және әлі де CD, DVD, MD, Hi MD және Blu-ray сияқты цифрлық оптикалық дискілерде қолданылады. Жоғары тығыздықтағы RLL (2,7) және RLL (1,7) кодтары 1990-шы жылдардың басында қатты дискілер үшін де-факто индустриялық стандартқа айналды.

RLL кодтамасының қажеттілігі

Қатты дискіде ақпарат дискідегі магнит өрісінің бағытындағы өзгерістермен көрсетіледі, ал магниттік ортада ойнату нәтижесі ағынның өту тығыздығына пропорционалды. Компьютерде ақпарат сымдағы кернеумен көрсетіледі. Сымдағы кернеудің белгіленген нөлдік деңгейге қатысты болмауы бинарлық нөлді білдіреді, ал жерге қатысты сымдағы оң кернеу бинарлық бірді білдіреді. Магниттік ортада, керісінше, әрқашан магниттік ағын болады – «солтүстік» немесе «оңтүстік» полюс. Магниттік өрістерді екілік деректерге түрлендіру үшін екеуінің арасын аудару үшін бір кодтау әдісі қолданылуы керек. Ең қарапайым практикалық кодтардың бірі – өзгертілген нөлге қайта оралмайтын инверсия (NRZI) – бірді магниттік полярлықтың өзгеруі ретінде, сондай-ақ «ағынның кері өзгеруі» деп аталады, ал нөлді – өзгерудің болмауы ретінде кодтайды. Диск тұрақты жылдамдықпен айналғанда, әр бит магниттік сигналмен көрсетілген тең уақыт аралығын, «деректер терезесін» алады, ал ағынның кері өзгеруі, егер болса, осы терезенің басында болады. (Ескерту: ескі қатты дискілер бүкіл дискіде деректер терезесі ретінде бір уақыт аралығын қолданды, бірақ қазіргі дискілер күрделірек; толығырақ білу үшін аймақтық биттерді жазуды қараңыз.) Бұл әдіс толығымен қарапайым емес, себебі ойнату нәтижесі бірлердің тығыздығына пропорционалды, ал нөлдердің ұзақ тізбегі ойнату нәтижесін мүлдем болдырмайды. Мысал ретінде, 1 нс (бір наносекунд, секундының миллиардтан бір бөлігі) деректер терезесі бар 101 екілік үлгісін қарастырайық. Бұл дискіде өзгеріс, содан кейін өзгеріссіз, содан кейін тағы бір өзгеріс ретінде сақталады. Егер алдыңғы магниттік полярлық оң болса, нәтиже мынадай болуы мүмкін: −−+. 255 саны немесе барлық екілік бірлер −+−+−+−+ немесе +−+−+−+− ретінде жазылады. 0 байт ++++++++ немесе −−−−−−−− ретінде жазылады. 512 байттық нөлдер секторы 4096 реттелген бит ретінде жазылады. Диск дискінің физикалық бөлігі болғандықтан, дискінің айналу жылдамдығы қозғалтқыштың жылдамдығының өзгеруіне немесе дискінің табағының жылулық кеңеюіне байланысты сәл өзгеруі мүмкін. Флопи-дискідегі физикалық орта деформациялануы мүмкін, бұл үлкен уақыт қателеріне әкеледі, ал контроллердегі уақыт тізбегінде жылдамдықтың шағын ауытқулары болуы мүмкін. Мәселе мынада, нөлдердің ұзақ тізбегі болғанда, дискінің контроллері оқу басының нақты орнын біле алмайды, демек, қанша нөл бар екенін нақты біле алмайды. Тіпті 0,1% жылдамдық өзгеруі, бұл кез келген практикалық дискетадан да дәл, 4096 биттік дерек ағынына 4 бит қосылуына немесе алынып тасталуына әкелуі мүмкін. Синхрондау және қателерді түзетусіз деректер мүлдем қолданыссыз болады. Екінші мәселе магниттік ортаның шектелуімен байланысты: белгілі бір кеңістікте тек белгілі бір мөлшерде полярлық өзгерістерді жазуға болады, сондықтан бірнеше бірлерді қатарлап жазуға болатын жоғарғы шек бар, бұл сызықтық жылдамдық пен бас арақашықтығына байланысты. Бұл мәселені болдырмау үшін деректер бір-бір екілік мәннің ұзақ қайталануын болдырмайтын етіп кодталады. Бірінен соң бірі жазылатын нөлдердің санын ең көп k-ға дейін шектеу арқылы, диск контроллерінің синхронды болуы мүмкін болады. Бір қатарда жазылған нөлдердің санын әрқайсысы мен әрқайсысы арасындағы ең аз d-ге шектеу арқылы полярлық өзгерістердің жалпы жиілігі азаяды, бұл дискіге бірдей кеңістікте көбірек деректерді сақтауға мүмкіндік береді, нәтижесінде сол сандағы деректер үшін кішірек пакет немесе бірдей көлемдегі пакетке көбірек сақтау.

Тарих

Магниттік дискілерге жазу үшін қолданылатын барлық кодтар ауысусыз тізбектің ұзақтығын шектейді, сондықтан оларды RLL кодтары деп сипаттауға болады. Ең ерте және қарапайым түрлеріне арнайы атаулар берілді, мысалы, өзгертілген жиілік модуляциясы (MFM), ал "RLL" атауы көбінесе осындай нақты атаулары жоқ күрделі түрлер үшін қолданылады, бірақ техникалық тұрғыдан бұл термин олардың барлығына да қатысты. Қатты дискілерде алғаш рет қолданылған "RLL" коды – IBM инженерлері әзірлеген RLL (2,7), ол 1979 жылы IBM 3370 DASD құрылғысында 4300 сериялы мейнфрейммен бірге коммерциялық тұрғыда қолданылды. 1980-жылдардың соңында дербес компьютерлердің (PC) қатты дискілері RLL-ді пайдалана бастады (яғни, MFM сияқты өздерінің жеке атаулары бар түрлерге қарағанда күрделі түрлерді). RLL кодтары 1980 жылдан бері оптикалық дискілерді жазу тәжірибесінде кеңінен қолданылып келеді. Тұтыну электроникасында RLL сияқты EFM коды (rate = 8/17, d = 2, k = 10) Compact Disc (CD) және MiniDisc (MD) құрылғыларында, ал DVD-де қолданылатын EFMPlus коды (rate = 8/16, d = 2, k = 10) қолданылады. d және k параметрлері – ең аз және ең көп рұқсат етілген тізбек ұзындығын көрсетеді. Сақтау технологиялары туралы толыққанды ақпарат алу үшін осы мақалада келтірілген сілтемелер көмектеседі.

Техникалық шолу

Жалпы, орындалу ұзындығы – сигнал өзгермейтін биттердің саны. 1-биттің 3 орындалу ұзындығы 111 тізбегін білдіреді. Мысалы, дискідегі магниттік поляризацияның үлгісі +−−−++−−−++++++ болуы мүмкін, онда орындалу ұзындығы 1, 4, 2, 3 және 6 болады. Дегенмен, орындалу ұзындығы шектеулі кодтау терминологиясы NRZI кодтауын қарастырады, сондықтан 1 биттер өзгерістерді, ал 0 биттер өзгеріс болмауын көрсетеді. Жоғарыдағы тізбек 11000101001000001 ретінде беріледі және тек нөлдік биттердің орындалуы есептеледі. Сәл шатастыратын жайт, орындалу ұзындығы – жанындағы 1-лер арасындағы нөлдердің саны (алдыңғы мысалда 0, 3, 1, 2 және 5), бұл сигналдың нақты өзгермейтін уақытынан бір кем. Орындалу ұзындығы шектеулі тізбектер екі параметрмен сипатталады: d және k, олар тізбекте болуы мүмкін ең кішкентай және ең үлкен нөлдік биттердің ұзындығын анықтайды. Сондықтан RLL кодтары әдетте (d,k) RLL түрінде көрсетіледі, мысалы: (1,3) RLL.

Кодтау

Кодталған форматта "1" биті магниттік өрістің өзгеруін, ал "0" биті дискідегі магниттік өрістің сол уақыт аралығында өзгермейтінін көрсетеді.

Тығыздықтары

Магниттік лентада бір дюймге 3200-ге дейін магниттік өріс полярлігінің өзгеруі болуы мүмкін деп есептейік. Өзгертілген жиілік модуляциясы немесе (1,3) RLL кодтамасы әрбір дерек битін таспаға екі бит ретінде жазады, бірақ кез келген 1 (магниттік өріс полярлігінің өзгеруі) битінің арасында бір 0 (магниттік өріс полярлігінің өзгеруі жоқ) битінің болуы кепілдендірілгендіктен, таспаға дюймге 6400 кодталған битті немесе дюймге 3200 дерек битін жазуға болады. (1,7) RLL кодтамасы таспаға дюймге 6400 кодталған битті жасай алады, бірақ 2 дерек битін жазу үшін 3 кодталған бит қана керек болғандықтан, бұл дюймге 4267 дерек битіне тең. (2,7) RLL кодтамасы әрбір дерек битін жазу үшін 2 кодталған битті қажет етеді, бірақ кез келген 1 биттің арасында екі 0 биттің болуы кепілдендірілгендіктен, таспаға дюймге 9600 кодталған битті немесе дюймге 4800 дерек битін жазуға болады. Қатты дискілердегі магниттік өріс полярлігінің өзгеру тығыздығы әлдеқайда жоғары, бірақ әртүрлі кодтау жүйелерін қолдану арқылы сақтау тығыздығының да сол сияқты жақсаруы байқалады.