Ұзындығы шектеулі - Run-length limited - Wikipedia

Ұзындығы шектеулі немесе RLL кодтау - бұл сызықтық кодтау а арқылы еркін деректерді жіберу үшін қолданылатын әдіс байланыс арнасы бірге өткізу қабілеттілігі шектеулер. RLL кодтары төрт негізгі параметрмен анықталады: м, n, г., к. Алғашқы екеуі, м/n, кодтың жылдамдығына жүгініңіз, ал қалған екеуі минималды көрсетеді г. және максималды к тізбектелгендер арасындағы нөлдердің саны. Бұл екеуінде де қолданылады телекоммуникация және ортадан қозғалатын сақтау жүйелері жазу басы.

Нақтырақ айтқанда, RLL қайталанатын биттердің созылу ұзындығын шектейді (сигналдар), бұл кезде сигнал өзгермейді. Егер жүгіру өте ұзақ болса, сағаттық қалпына келтіру қиын; егер олар тым қысқа болса, жоғары жиілікті байланыс арнасы әлсіретуі мүмкін. Авторы модуляциялық The деректер, RLL уақыт белгісіздігін азайтады декодтау деректерді кері оқыған кезде биттерді қате енгізуге немесе жоюға әкелетін сақталған деректер. Бұл механизм биттер арасындағы шекаралардың әрқашан дәл табылуын қамтамасыз етеді (алдын-алу) бит слипі ), берілген кеңістіктегі деректердің максималды көлемін сенімді сақтау үшін бұқаралық ақпарат құралдарын тиімді пайдалану.

Алғашқы диск жетектерінде өте қарапайым кодтау сызбалары қолданылған, мысалы, RLL (0,1) FM коды, содан кейін RLL (1,3) MFM коды, кеңінен қолданылған қатты диск жетектері сияқты 80-ші жылдардың ортасына дейін және сияқты сандық оптикалық дискілерде қолданылады CD, DVD, М.ғ.д., Сәлем-мд және Blu-ray. Жоғары тығыздықтағы RLL (2,7) және RLL (1,7) кодтары 1990 жылдардың басында қатты дискілер үшін іс жүзінде салалық стандартқа айналды.

RLL кодтау қажет

Үстінде қатты диск жетегі, ақпарат дискідегі магнит өрісі бағытының өзгеруімен бейнеленеді, ал магниттік тасымалдағыштарда ойнату шығысы ағынның ауысу тығыздығына пропорционалды. Компьютерде ақпарат сымдағы кернеу арқылы бейнеленеді. Белгіленген жер деңгейіне қатысты сымның ешқандай кернеуі екілік нөлге тең болмайды, ал сымның жерге қатысты оң кернеуі екілік екілік болады. Магниттік орталар, әрдайым, магниттік ағынды - «солтүстік» полюсті немесе «оңтүстік» полюсті алып жүреді. Магнит өрістерін екілік деректерге айналдыру үшін, екеуінің арасында аударма жасау үшін кейбір кодтау әдісін қолдану керек.

Нөлге қайтарылмайтын модификацияланған қарапайым практикалық кодтардың бірі (инверсия) (NRZI ), жай 1-ді магниттік полярлықтың ауысуы ретінде, «ағынның кері бұрылуы» деп те атайды, ал нөлге ешқандай ауысу болмайды. Диск тұрақты жылдамдықпен айналғанда, әр битке осы уақытты көрсететін магниттік сигнал үшін тең уақыт кезеңі, «мәліметтер терезесі» беріледі және ағынның өзгеруі, егер бар болса, осы терезенің басында болады. (Ескерту: ескі қатты дискілер бүкіл дискідегі мәліметтер терезесі ретінде бір уақытты пайдаланды, бірақ қазіргі заманғы дискілер күрделі, бұл туралы толығырақ ақпаратты қараңыз) аудандастырылған биттік жазу.)

Бұл әдіс өте қарапайым емес, өйткені ойнату шығысы олардың тығыздығына пропорционалды, нөлдердің ұзаққа созылуы мүлдем ойнатудың шығуын білдірмейді.

Қарапайым мысалда мәліметтер терезесі 1 нс болатын 101 екілік үлгіні қарастырайық (бір наносекунд, немесе секундтың миллиардтан бір бөлігі). Бұл өзгеріс ретінде дискіде сақталады, содан кейін өзгеріс болмайды, содан кейін тағы бір өзгеріс болады. Егер алдыңғы магниттік полярлық оң болған болса, нәтиже келесідей болуы мүмкін: −− +. 255 немесе барлық екілік мәндер - + - + - + - + немесе + - + - + - + - түрінде жазылады. Нөлдік байт ++++++++ немесе −−−−−−−− түрінде жазылады. Нөлдердің 512 байт секторы бірдей полярлығы бар 4096 дәйекті бит түрінде жазылатын болады.

Диск жетегі физикалық жабдық болғандықтан, қозғалтқыш жылдамдығының өзгеруіне немесе дискілік тақтаның термиялық кеңеюіне байланысты дискінің айналу жылдамдығы аздап өзгеруі мүмкін. Дискідегі физикалық тасымалдағыш деформацияланып, уақыт бойынша үлкен қателіктер туғызуы мүмкін, ал контроллердегі уақыт тізбегінің жылдамдығының шамалы өзгерістері болуы мүмкін. Мәселе мынада, нөлдердің ұзын жолында, диск жетегінің контроллері үшін оқылатын бастың нақты орнын білуге ​​және осылайша қанша нөл бар екенін білуге ​​ешқандай мүмкіндік жоқ. Жылдамдықтың 0,1% -дық ауытқуы кез-келген практикалық дискетке қарағанда дәлірек болса, 4096-биттік мәліметтер ағынына 4 бит қосылуына немесе жойылуына әкелуі мүмкін. Қандай да бір синхрондау мен қателерді түзету болмаса, деректер мүлдем жарамсыз болып қалады.

Басқа мәселе магниттік тасымалдағыштың шекарасына байланысты: белгілі бір кеңістікте тек сонша полярлық өзгерісті жазуға болады, сондықтан олардың қаншасын ретімен жазуға болатынының жоғарғы шегі бар, бұл сызықтыққа байланысты жылдамдық және бас аралығы.

Бұл ақаулықтың алдын алу үшін мәліметтер бір екілік мәннің ұзақ қайталануы орын алмайтындай етіп кодталады. Кезектесіп жазылған нөлдер санын шектей отырып, бұл диск контроллерінің синхрондалған күйінде қалуына мүмкіндік береді. Бір қатарға жазылғандардың санын шектей отырып, полярлықтың жалпы жиілігі азаяды, бұл диск жетегіне көбірек деректерді бірдей кеңістікте сақтауға мүмкіндік береді, нәтижесінде сол көлемдегі деректер үшін пакет кішірек болады немесе бірдей өлшемдегі пакет.

Тарих

Магниттік дискілерде жазу үшін қолданылатын барлық кодтар өтпелі жүрістердің ұзақтығын шектейді және сондықтан RLL кодтары ретінде сипатталуы мүмкін. Ең ерте және қарапайым нұсқаларға модификацияланған жиіліктік модуляция (MFM) сияқты белгілі атаулар берілді, ал «RLL» атауы әдетте осындай нақты атаулар берілмеген неғұрлым күрделі нұсқалар үшін қолданылады, бірақ бұл термин олардың барлығына техникалық тұрғыдан қолданылады.

Қатты дискілерде қолданылған алғашқы «RLL» коды RLL (2,7) болды IBM инженерлер және коммерциялық мақсатта 1979 жылы IBM 3370-те қолданылған DASD,[1][2][3] 4300 сериясымен пайдалануға арналған мейнфрейм. 1980 жылдардың аяғында ДК қатты дискілер RLL-ді қолдана бастады (мысалы, MFM сияқты өз атауларын алғаннан гөрі күрделі нұсқалар). 1980 жылдан бастап оптикалық дискілерді жазу практикасында RLL кодтары әмбебап қолдануды тапты. Тұрмыстық электроникада RLL сияқты EFM коды (ставка = 8/17, г. = 2, к = 10) Компакт дискі (CD) және MiniDisc (MD) және EFMPlus коды (ставка = 8/16, г. = 2, к = 10) DVD. Параметрлер г. және к ең төменгі және максималды рұқсат етілген ұзындықтар. Сақтау технологиялары туралы көбірек білу үшін осы мақалада келтірілген сілтемелер пайдалы.[4][5]

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

Жалпы жүгіру ұзындығы - сигнал өзгеріссіз қалатын бит саны. 1-разряд үшін жүгіру ұзындығы 3, 111 реттілігін білдіреді. Мысалы, дискідегі магниттік поляризация өрнегі + −−−− ++ −−− ++++++ болуы мүмкін, ұзындығы 1, 4, 2, 3 және 6. Алайда, ұзындықтағы шектеулі кодтау терминологиясы NRZI кодтауды қабылдайды, сондықтан 1 бит өзгерісті, ал 0 бит өзгерістің жоқтығын көрсетеді, жоғарыдағы реттілік 11000101001000001 түрінде өрнектелетін болады және тек нөлдік разрядтар болады. саналады.

Біршама түсініксіз, жүгіру ұзындығы дегеніміз сигналдың өзгеріссіз қалуының биттік уақыт санынан бір кем болатын, көршілес арасындағы нөлдердің саны (алдыңғы, 0, 3, 1, 2 және 5). Ұзындығы шектеулі тізбектер екі параметрмен сипатталады, г. және к, бұл реттілікте болуы мүмкін минималды және максималды нөлдік разряд ұзындығын қарастырады. Сондықтан RLL кодтары әдетте (г.,к) RLL, мысалы: (1,3) RLL.

Кодтау

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

FM: (0,1) RLL

Әдетте, «RLL коды» термині неғұрлым мұқият кодтауға қатысты қолданылады, бірақ бастапқы жиіліктік модуляция коды, сонымен қатар дифференциалды Манчестер кодтау, қарапайым жылдамдық-1/2 RLL коды ретінде қарастырылуы мүмкін, оған қосылған 1 бит сағат биттері деп аталады.

ДеректерКодталған
010
111

Мысал:

Деректер: 0 0 1 0 1 1 0 1 0 0 0 1 1 0Кодталған: 1010111011111011101010111110Сағат: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

GCR: (0,2) RLL

Жүгірудің максималды ұзындығын 2 іргелес 0 битке дейін ұзарту арқылы деректер жылдамдығын 4/5 дейін жақсартуға болады. Бұл түпнұсқа IBM топтық жазба нұсқа.

ДеректерКодталған
000011001
000111011
001010010
001110011
010011101
010110101
011010110
011110111
ДеректерКодталған
100011010
100101001
101001010
101101011
110011110
110101101
111001110
111101111

Мүмкіндігінше (16 кодтың 11-і), биттік өрнек а б С Д оны толықтауышпен префикстеу арқылы кодталады а: аа б С Д. Бұл ережелердің бірін бұзатын 5 жағдайда (000д немесе ab00), 11-ден басталатын код ауыстырылды (11ба, қайда e = аг.).

Мысал:

Деректер: 0010 1101 0001 1000 Кодталған: 10010011011101111010

(0,2) RLL анықтамасын қанағаттандыру үшін әр 5-биттік кодта екіден артық нөл болмауы жеткіліксіз, сонымен қатар кез-келген 5-разрядты кодтардың кезектесіп қосылуы қажет қатарынан екі нөлден артық болмауы керек. Яғни, кез-келген екі ерікті түрде таңдалған кодтар үшін бірінші кодтағы соңғы бит пен екінші кодтағы бірінші бит арасындағы екі нөлден артық болмауы керек. Бұл қажет, себебі кез-келген RLL коды үшін жұмыс ұзақтығының шектеулері - бұл жағдайда 0 және 2 - қарапайым мәліметтер биттерінің дискретті тізбегін көрсететін оның компоненттеріне ғана емес, жалпы модуляцияланған бит ағынына қолданылады. (Бұл ереже кез-келген ерікті кодтар жұбына қатысты болуы керек, себебі кіріс деректері кез-келген биттердің кез келген ерікті тізбегі болуы мүмкін.) Жоғарыдағы IBM GCR коды осы шартқа сәйкес келеді, өйткені кез-келген 5-дің басында нөлдердің максималды жүгіру ұзындығы. -бит коды - бір, сонымен қатар кез-келген кодтың соңындағы максималды жүгіру ұзындығы - бір, бұл көршілес кодтар арасындағы түйісу кезінде жалпы жүгіру ұзындығын екі құрайды. (Кодтардың арасында жүрудің максималды ұзындығының мысалы жоғарыда келтірілген мысалдан көруге болады, мұндағы «0010» деректер коды нөлмен аяқталады, ал келесі мәліметтер коды «1101» нөлден басталады, осы 5-биттік кодтардың түйіскен жерінде екі нөлдің қозғалысын құру.)

MFM: (1,3) RLL

Модификацияланған жиілік қызықты бола бастайды, өйткені оның ерекше қасиеттері биттерді ерікті бит ағынының екі есе тығыздығымен магниттік ортаға жазуға мүмкіндік береді. Оқу жабдықтарының оларды анықтауға арналған уақыт ағынының қаншалықты жақын болатындығының шегі бар, және биттерді ортаға қаншалықты тығыз жазуға болатындығын шектейді: Ең нашар жағдайда, ерікті бит ағынымен, қатарынан екі, ол ағынның уақытында екі дәйекті өтуін тудырады, сондықтан биттер бір-бірінен жеткілікті түрде алшақ орналасуы керек, сондықтан бұл флюс ауысулары арасында оқырман оларды анықтауға жеткілікті уақыт болады. Бірақ бұл код шектеу қояды г. = 1, яғни әрқайсысының арасында минимум бір нөлге тең. Бұл дегеніміз, ең нашар жағдайда ағынның ауысуы екі биттік ара қашықтықта болады, сондықтан биттер оқырман мүмкіндіктерін асырмай, ерікті бит ағынымен салыстырғанда екі есе жақын болуы мүмкін.

Бұл екі еселенген жазба тығыздығы осы кодтың 1/2 кодтау жылдамдығын өтейді (нақты ақпараттардың бір битін көрсету үшін екі бит қажет) және оны жылдамдық-1 кодына теңестіреді.

ДеректерКодталған
0x0
101

Мұнда «x» алдыңғы кодталған биттің толықтырушысы болып табылады (ол да алдыңғы мәліметтер биті). Сағат биттерін қоспағанда - сол «х» биті және «01» кодындағы «0» - бұл FM кестесімен бірдей және бұл код өз атауын осылай алады. Кірістірілген сағат биттері 0, екі 0 бит битін қоспағанда.

Мысал:

Деректер: 0 0 1 0 1 1 0 1 0 0 0 1 1 0Кодталған: x010010001010001001010010100Сағат: x 1 0 0 0 0 0 0 0 0 1 1 0 0 0

(1,7) RLL

(1,7) RLL 2 биттік мәліметтерді дискідегі 3 битке бейнелейді, ал кодтау 2 немесе 4 биттік топтарда орындалады. Кодтау ережелері: ((х, ж) болады (ЕМЕС х, х ЖӘНЕ ж, ЖОҚ ж), қоспағанда (х, 0, 0, ж) болады (ЕМЕС х, х ЖӘНЕ ж, ЖОҚ ж, 0, 0, 0).[6]Төмендегі кестеге сәйкес кодтау кезінде, ең ұзын (кестеде соңғы) матч қолданылуы керек; Ертерек ережелерді қолдану код шектеулерінің бұзылуына әкеп соқтыратын жағдайлардағы ерекше жағдайлар.

ДеректерКодталған
00101
01100
10001
11010
00 00101 000
00 01100 000
10 00001 000
10 01010 000

Мысал:

Деректер: 0 0 1 0 1 1 0 1 0 0 0 1 1 0 Кодталған: 101 001 010 100 100 000 001

(2,7) RLL

(2,7) RLL - жылдамдық12 код, картаға түсіру n 2-ге мәліметтер биттеріn MFM сияқты дискідегі биттер, бірақ минималды іске қосу ұзындығы 50% ұзағырақ болғандықтан (2 орнына 3 биттік рет), биттерді жылдамырақ жазуға болады, бұл мәліметтердің 50% тиімді тығыздығына жетеді. Кодтау 2, 3 немесе 4 биттік топтарда орындалады.

Western Digital WD5010A, WD5011A, WD50C12

Деректер(2,7) RLL кодталған
111000
100100
000100100
010000100
011001000
001100001000
001000100100

Seagate ST11R, IBM

Деректер(2,7) RLL кодталған
111000
100100
000000100
010100100
011001000
001100001000
001000100100

Perstor Systems ADRC

Деректер(2,7) RLL кодталған
111000
100100
000100100
010000100
001001000
011100001000
011000100100

Кодталған пішіндер ең көбі 4-тен басталып, ең көбі 3 нөлдік битпен аяқталып, максималды жүгіру ұзындығы 7 құрайды.

Мысал:

Деректер: 1 1 0 1 1 0 0 1 1 Кодталған: 1000 001000 00001000

Тұрақты токсыз (1,7) RLL

Кейде а-ны болдырмау үшін қолданылатын балама (1,7) RLL кодтауы бар Тұрақты тұрақтылық (бұл сигналды алыс қашықтыққа жіберген кезде немесе жазба құралдарының кейбір түрлерімен бірге көмектеседі).

ДеректерКодталған
00x01
01010
10x00
11 00010 001
11 01x00 000
11 10x00 001
11 11010 000

Мұндағы «x» алдыңғы кодталған биттің толықтырушысы болып табылады (яғни алдыңғы бит 0 болған жағдайда 1, ал алдыңғы бит 1 болған жағдайда 0).

Мысал:

Деректер: 0 1 0 0 1 1 0 1 0 1 Кодталған: 010 101 000 000 010

ЖЖ (1,13)

HHH (1,13) коды - бұл IBM-тің үш зерттеушісі (Hirt, Hassner және Heise) 16 МБ / с-да қолдану үшін жасаған жылдамдық-2/3 коды. IrDA VFIR физикалық қабаты.[7] Магниттік кодтаудан айырмашылығы, бұл инфрақызыл таратқышқа арналған, мұнда 0 бит «сөндірулі», ал 1 бит «қосулы» болып табылады. 1 бит беру үшін көбірек қуатты тұтынатындықтан, бұл 1 биттің тығыздығын 50% -дан аз етіп шектеуге арналған. Атап айтқанда, бұл (1,13 | 5) RLL коды, мұнда соңғы 5 ең көп дегенде 5 қатарынан «10» биттік жұп бар екендігінің қосымша шектеулерін көрсетеді.

ДеректерКодталған
00010
01001
10100
11101
01 10001 000
01 11010 000
11 10101 000
11 11100 000
00 11 00010 000 000
00 11 01001 000 000
10 11 00100 000 000
10 11 01101 000 000
00 11 10 11010 000 000 000
10 11 10 11100 000 000 000

Алғашқы сегіз қатар стандартты (1,7) -RLL кодын сипаттайды. Қосымша алты ерекшелік нөлдердің максималды айналымын 13-ке дейін арттырады (заңдылық бойынша 100 000 000 000 001, бұл 10 11 10 11, содан кейін 01), бірақ орташа максималды тығыздықты шектейді13. 1-0 жұптың ең ұзақ жүгірісі - 000 101 010 101 000.

Бұл код тығыздықты аралықта шектейді112 және13, орташа алғанда 25,8%.

Мысалдар

Мысалы, 10110010 разрядтық қатарын әр түрлі кодтамалармен кодтайық

КодтауДеректерКодталған
RLL (0,1)101100101110111110101110
RLL (0,2)1011 001001011 10010
RLL (1,3)101100100100010100100100
RLL (1,7)10 11 00 10001 010 101 001
RLL (2,7)10 11 00100100 1000 00100100

RLL мысалы 10110010.svg

Тығыздық

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

Қатты дискілердегі ағынды қалпына келтіру тығыздығы айтарлықтай үлкен, бірақ сақтау тығыздығының бірдей жақсаруы әртүрлі кодтау жүйелерін қолдану арқылы көрінеді.

Сондай-ақ қараңыз

Әдебиеттер тізімі

Бұл мақала алынған материалға негізделген Есептеу техникасының ақысыз онлайн сөздігі 2008 жылдың 1 қарашасына дейін және «қайта қарау» шарттарына сәйкес енгізілген GFDL, 1.3 немесе одан кейінгі нұсқасы.

  1. ^ Диск файлдарының ширек ғасырлық инновациясы, IBM Journal of Research and Development.
  2. ^ Франашек (1972), «Қате тарату шектеуімен шектелген айнымалы ұзындықты кодтау», АҚШ патенті 3,689,899.
  3. ^ Диск жетектері индустриясының алғашқы онжылдықтары, DISK / TREND, Inc., дүниежүзілік диск жетегі және деректерді сақтау индустриясының нарықтық зерттеулерін шығарушы. web.archive.org.
  4. ^ Kees Schouhamer Immink (Желтоқсан 1990). «Ұзындығы шектеулі тізбектер». IEEE материалдары. 78 (11): 1745–1759. дои:10.1109/5.63306. Ұзындықтың шектеулі тізбегінің шекті қасиеттері туралы толық сипаттама берілген.
  5. ^ Kees A. Schouhamer Immink (Қараша 2004). Деректерді жаппай сақтау жүйелеріне арналған кодтар (Екінші толық өңделген екінші ред.) Эйндховен, Нидерланды: Шеннон қорының баспагерлері. ISBN  90-74249-27-2. Алынған 2015-08-23.
  6. ^ Ми, C. Денис; Дэниэл, Эрик Д. (1996). Магниттік сақтау бойынша анықтамалық (2-ші басылым). McGraw Hill. ISBN  0-07-041275-8.
  7. ^ Херт, Вальтер; Хасснер, Мартин; Heise, Nyles (ақпан 2001), «IrDA-VFIr (16 Mb / s): модуляция коды және жүйенің дизайны», IEEE жеке коммуникациясы, 8 (1): 58–71, дои:10.1109/98.904900.

Сыртқы сілтемелер