Моҳияти ҳамаи рамзҳои зиёдатӣ ниҳоят оддӣ аст: маълумотро нигоҳ доред (ё интиқол диҳед) то он ки ҳангоми рух додани хатогиҳо (корношоямии диск, хатогиҳои интиқоли маълумот ва ғ.) гум нашавад.
Дар аксар* кодхои зиёдатй, маълумот ба n блоки додахо таксим карда мешавад, ки барои онхо m блоки кодхои зиёдатй ба хисоб гирифта мешаванд, ки дар натича n+m блокхо чамъ мешаванд. Рамзҳои зиёдатӣ тавре сохта шудаанд, ки n блоки маълумотро танҳо бо истифода аз як қисми блокҳои n + m барқарор кардан мумкин аст. Минбаъд, мо танҳо рамзҳои изофии блокро баррасӣ хоҳем кард, яъне онҳое, ки дар онҳо маълумот ба блокҳо тақсим карда шудааст.
Барои барқарор кардани ҳамаи n блокҳои додаҳо, шумо бояд ҳадди аққал n блоки n + m дошта бошед, зеро шумо наметавонед n блокро бо доштани танҳо n-1 блок ба даст оред (дар ин ҳолат, шумо бояд 1 блок "аз борик" гиред. ҳаво"). Оё n блоки тасодуфии n + m блок барои барқарор кардани ҳама маълумот кофӣ аст? Ин аз намуди рамзҳои зиёдатӣ вобаста аст, масалан, рамзҳои Reed-Solomon ба шумо имкон медиҳанд, ки ҳама маълумотро бо истифода аз блокҳои худсарона барқарор кунед, аммо рамзҳои зиёдатии LRC на ҳамеша.
Нигоҳдории маълумот
Дар системаҳои нигоҳдории маълумот, чун қоида, ҳар як блоки додаҳо ва блокҳои коди зиёдатӣ ба диски алоҳида навишта мешаванд. Пас, агар диски худсарона кор накунад, маълумоти аслиро ҳанӯз барқарор кардан ва хондан мумкин аст. Маълумотро метавон барқарор кард, ҳатто агар якчанд дискҳо дар як вақт кор накунанд.
Интиқоли маълумотҳо
Рамзҳои зиёдатӣ метавонанд барои интиқоли боэътимоди маълумот тавассути шабакаи бесамар истифода шаванд. Маълумоти интиқолшуда ба блокҳо тақсим карда мешавад ва барои онҳо рамзҳои зиёдатӣ ҳисоб карда мешаванд. Ҳам блокҳои додаҳо ва ҳам блокҳои коди зиёдатӣ тавассути шабака интиқол дода мешаванд. Агар хатогиҳо дар блокҳои худсарона (то шумораи муайяни блокҳо) ба вуқӯъ оянд, маълумотро дар шабака бидуни хато интиқол додан мумкин аст. Масалан, рамзҳои Рид-Соломон барои интиқоли маълумот тавассути хатҳои оптикии алоқа ва алоқаи моҳвораӣ истифода мешаванд.
Рамзҳои Рид-Соломон яке аз рамзҳои васеъ истифодашавандаи зиёдатӣ мебошанд, ки дар солҳои 1960-ум ихтироъ шуда буданд ва бори аввал дар солҳои 1980-ум барои истеҳсоли оммавии дискҳои компактӣ васеъ истифода мешуданд.
Барои фаҳмидани рамзҳои Рид-Соломон ду саволи асосӣ вуҷуд дорад: 1) чӣ тавр сохтани блокҳои кодҳои зиёдатӣ; 2) чӣ гуна барқарор кардани маълумот бо истифода аз блокҳои коди зиёдатӣ. Биёед ба онҳо ҷавоб ёбем.
Барои содда, мо минбаъд фарз мекунем, ки n = 6 ва m = 4. Дигар схемаҳо аз рӯи аналогӣ баррасӣ карда мешаванд.
Чӣ тавр сохтани блокҳои коди зиёдатӣ
Ҳар як блоки рамзҳои зиёдатӣ новобаста аз дигарон ҳисоб карда мешавад. Ҳама n блокҳои додаҳо барои ҳисоб кардани ҳар як блок истифода мешаванд. Дар диаграммаи зер, X1-X6 блокҳои додаҳо мебошанд, P1-P4 блокҳои рамзи зиёдатӣ мебошанд.
Ҳама блокҳои додаҳо бояд як андоза бошанд ва битҳои сифрӣ метавонанд барои ҳамоҳангсозӣ истифода шаванд. Блокҳои коди зиёдатии натиҷавӣ ҳамон андоза бо блокҳои додаҳо хоҳанд буд. Ҳама блокҳои додаҳо ба калимаҳо тақсим мешаванд (масалан, 16 бит). Фарз мекунем, ки мо блокҳои маълумотро ба k калимаҳо тақсим мекунем. Он гоҳ ҳамаи блокҳои рамзҳои зиёдатӣ низ ба k калимаҳо тақсим карда мешаванд.
Барои ҳисоб кардани калимаи i-уми ҳар як блоки зиёдатӣ, калимаҳои i-уми ҳамаи блокҳои додаҳо истифода мешаванд. Онҳо аз рӯи формулаи зерин ҳисоб карда мешаванд:
Дар ин ҷо арзишҳои x калимаҳои блокҳои додаҳо мебошанд, p калимаҳои блокҳои коди зиёдатӣ мебошанд, ҳама алфа, бета, гамма ва дельта рақамҳои махсус интихобшуда мебошанд, ки барои ҳама i якхелаанд. Дарҳол бояд гуфт, ки ҳамаи ин арзишҳо рақамҳои оддӣ нестанд, балки унсурҳои майдони Галуа мебошанд; амалиётҳои +, -, *, / амалиёти барои ҳамаи мо шинос нестанд, балки амалиёти махсусе мебошанд, ки дар унсурҳои Галуа ҷорӣ карда шудаанд. майдон.
Майдонҳои Galois* майдонҳое мебошанд, ки барои онҳо натиҷаи ягонаи ҳар як амалиёт (+, -, *, /) барои ҳар ду элементи майдон мавҷуд аст. Майдонҳои Галуаро барои ададҳое сохтан мумкин аст, ки қудрати 2: 2, 4, 8, 16 ва ғайра мебошанд (воқеан қудратҳои ҳар як адади ибтидоии p, аммо дар амал мо танҳо ба қудрати 2 таваҷҷӯҳ дорем). Масалан, барои калимаҳои 16-битӣ, ин майдонест, ки 65 элементро дар бар мегирад, ки барои ҳар як ҷуфти онҳо шумо метавонед натиҷаи ҳама гуна амалиётро пайдо кунед (+, -, *, /). Қиматҳои x, p, alpha, beta, gamma, delta аз муодилаҳои дар боло овардашуда унсурҳои майдони Галуа барои ҳисобҳо ҳисобида мешаванд.
Ҳамин тариқ, мо системаи муодилаҳое дорем, ки бо он мо метавонем блокҳои кодҳои зиёдатӣ тавассути навиштани барномаи мувофиқи компютерӣ созем. Бо истифода аз ҳамон системаи муодилаҳо, шумо метавонед барқароркунии маълумотро иҷро кунед.
* Ин таърифи сахт не, балки тавсиф аст.
Чӣ тавр барқарор кардани маълумот
Вақте ки баъзе аз блокҳои n + m мавҷуд нестанд, барқарорсозӣ лозим аст. Инҳо метавонанд ҳам блокҳои додаҳо ва ҳам блокҳои коди зиёдатӣ бошанд. Набудани блокҳои додаҳо ва/ё блокҳои коди зиёдатӣ маънои онро дорад, ки тағирёбандаҳои мувофиқи x ва/ё p дар муодилаҳои боло номаълуманд.
Муодилаҳои рамзҳои Рид-Соломонро метавон ҳамчун як системаи муодилаҳо баррасӣ кард, ки дар он ҳама арзишҳои алфа, бета, гамма, дельта доимӣ мебошанд, ҳама x ва p мувофиқ ба блокҳои мавҷуда тағирёбандаҳои маълуманд ва боқимонда x ва p номаълуманд.
Мо системаи 4 муодила бо 4 номаълум дорем, яъне мо метавонем онро ҳал кунем ва маълумотро барқарор кунем!
Аз ин системаи муодилаҳо дар бораи барқарорсозии маълумот барои рамзҳои Рид-Соломон як қатор хулосаҳо мебароянд (n блоки додаҳо, m блокҳои рамзи зиёдатӣ):
Маълумотро метавон барқарор кард, агар ягон m блок ё камтар аз он гум шавад. Агар блокҳои m+1 ё зиёда аз он гум шаванд, маълумот барқарор карда намешавад: ҳалли системаи муодилаи m бо m+1 номаълум аст.
Барои барқарор кардани ҳатто як блоки додаҳо, шумо бояд ягон n блоки боқимондаро истифода баред ва шумо метавонед ҳама гуна рамзҳои зиёдатӣ истифода баред.
Боз чиро донистан лозим аст
Дар тавсифи дар боло овардашуда, ман аз як қатор масъалаҳои муҳим худдорӣ мекунам, ки барои баррасии амиқтар ба математика ниёз доранд. Аз ҷумла, ман дар бораи чизҳои зерин чизе намегӯям:
Системаи муодилаҳо барои рамзҳои Рид-Соломон бояд барои ҳама гуна омезиши номаълумҳо (на бештар аз m номаълум) ҳалли (нодир) дошта бошад. Дар асоси ин талабот, арзишҳои алфа, бета, гамма ва дельта интихоб карда мешаванд.
Чӣ тавр интихоб кардани n ва m дар амал? Дар амал дар системаҳои нигоҳдории маълумот кодҳои зиёдатӣ барои сарфаи ҷой истифода мешаванд, аз ин рӯ m ҳамеша камтар аз n интихоб карда мешавад. Арзиши мушаххаси онҳо аз як қатор омилҳо вобаста аст, аз ҷумла:
Агар блокҳои r + l дастрас набошанд ва ҳамаи блокҳо ба як гурӯҳ дохил карда шаванд, пас маълумот барқарор карда намешавад. Инро бо як мисол шарҳ додан осон аст. Бигзор блокҳои X1–X3 ва P3 дастнорас бошанд: инҳо блокҳои r + l аз як гурӯҳ мебошанд, дар ҳолати мо 4. Он гоҳ мо системаи 3 муодила бо 4 номаълум дорем, ки онҳоро ҳал кардан ғайриимкон аст.
Дар ҳама ҳолатҳои дигари мавҷуд набудани блокҳои r + l (вақте ки ҳадди аққал як блок аз ҳар гурӯҳ дастрас аст), маълумотро дар LRC барқарор кардан мумкин аст.
Ҳамин тариқ, LRC дар барқарорсозии маълумот пас аз хатогиҳои ягона аз рамзҳои Reed-Solomon бартарӣ дорад. Дар рамзҳои Reed-Solomon, барои барқарор кардани ҳатто як блоки додаҳо, шумо бояд n блокро истифода баред ва дар LRC, барои барқарор кардани як блоки додаҳо, истифодаи блокҳои n/l (дар мисоли мо n/2) кифоя аст. Аз тарафи дигар, LRC аз ҷиҳати шумораи ҳадди аксар хатогиҳои иҷозатдодашуда аз рамзҳои Рид-Соломон пасттар аст. Дар мисолҳои дар боло овардашуда, рамзҳои Reed-Solomon метавонанд маълумотро барои ҳар 4 хато барқарор кунанд ва барои LRC 2 комбинатсияи 4 хато вуҷуд доранд, вақте ки маълумот барқарор карда намешавад.
Чизи муҳимтар аз вазъияти мушаххас вобаста аст, аммо аксар вақт сарфаи сарбории зиёдатӣ, ки LRC медиҳад, аз нигоҳдории каме эътимоднок зиёдтар аст.