Научная статья на тему 'ПОВЫШЕНИЕ НАДЕЖНОСТИ ХРАНЕНИЯ ИНФОРМАЦИИ В МИКРОКОМПЬЮТЕРНЫХ КОМПЛЕКСАХ ПЕРСОНАЛЬНОЙ ИДЕНТИФИКАЦИИ'

ПОВЫШЕНИЕ НАДЕЖНОСТИ ХРАНЕНИЯ ИНФОРМАЦИИ В МИКРОКОМПЬЮТЕРНЫХ КОМПЛЕКСАХ ПЕРСОНАЛЬНОЙ ИДЕНТИФИКАЦИИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
27
4
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
SMART / RFID / КОД ХЕММИНГА / КОД РИДА-СОЛОМОНА / LRC-КОД

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Андрианова Елена Гельевна, Крюков Дмитрий Алексеевич, Петров Андрей Борисович

Рассматривается подход использования кодов коррекции ошибок в памятимикрокомпьютерных комплексов с ограниченными ресурсами, таких как SMART-карты, RFID-метки и т. п., построенных на электронных интегральных схемах.Проведен анализ эффективности и степень расхода памяти для кода Хемминга. В качестве альтернативы известному коду Хемминга, предложены решения, основанные на помехоустойчивом кодировании Рида-Соломона, а так же продольном контроле избыточности.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Андрианова Елена Гельевна, Крюков Дмитрий Алексеевич, Петров Андрей Борисович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «ПОВЫШЕНИЕ НАДЕЖНОСТИ ХРАНЕНИЯ ИНФОРМАЦИИ В МИКРОКОМПЬЮТЕРНЫХ КОМПЛЕКСАХ ПЕРСОНАЛЬНОЙ ИДЕНТИФИКАЦИИ»

Электронный журнал «Труды МАИ». Выпуск № 59

www.mai.ru/science/trudy/

УДК 004.03

Повышение надежности хранения информации в микрокомпьютерных комплексах персональной идентификации

Е.Г. Андрианова, Д.А. Крюков, А.Б. Петров

Аннотация

Рассматривается подход использования кодов коррекции ошибок в памятимикрокомпьютерных комплексов с ограниченными ресурсами, таких как SMART-карты, RFID-метки и т. п., построенных на электронных интегральных схемах.Проведен анализ эффективности и степень расхода памяти для кода Хемминга. В качестве альтернативы известному коду Хемминга, предложены решения, основанные на помехоустойчивом кодировании Рида-Соломона, а так же продольном контроле избыточности.

Ключевые слова

smart; rfid; код хемминга; код рида-соломона; lrc-код

Введение

Микрокомпьютерные комплексы персональной идентификации (МКПИ), построенные на базе технологий RFID (RadioFrequencyIDentification), радиочастотная идентификация)и SMART, реализуют крайне важную функцию, они является носителями исключительных данных владельца. Яркими представителями этого класса являются, например, банковская карта, электронные ключи доступа, чип-ключи автомобиля, цифровое телевидение, SIM-карта мобильного аппарата. Очевидно, что ценность информации в МКПИ намного превышают их рыночную стоимость. Потеря или искажение информации являются критичными и не допустимы для них. Таким образом, долговременное хранение и своевременное предоставление информации является ключевой функцией каждого МКПИ. В открытой печати практически отсутствуют публикации о повышении надежности МКПИпутем разработки и модификации методов и алгоритмов обработки, хранения и ввода-вывода информации. Данные устройства не используют алгоритмов обеспечения целостности информации и надежности функционирования, что может породить возникновение ошибок, во многом, не зависящих от действий владельца.В статье

предлагается рассмотреть решение о применении алгоритмов помехоустойчивого кодирования для SMART- и RFID-устройств, построенных на электронных интегральных схемах, содержащих, помимо модулей памяти - микропроцессор с арифметико-логическим устройством, устройство управления, устройство ввода-вывода, регистры [1]. МКПИ предполагают наличие специализированной файловой системы (ChipOperationSystem, GSM FileSystem), обеспечивающей большой набор сервисных операций и средств безопасности и предусматривающей разграничение доступа к информации.

Количественные оценки алгоритмов помехоустойчивого кодирования

Для хранения идентификационных данных в картах с микросхемой памяти используется постоянное запоминающее устройство (ПЗУ). Для хранения остальных данных, в том числе изменяемых, в SMART-картах и RFID-устройствах используется электрически программируемое постоянное запоминающее устройство (ЭСППЗУ). Данный вид памяти также как и память ПЗУ является энергонезависимым, но в отличие от неё в ЭССПЗУ можно производить запись в период эксплуатации чипа. Память ЭСППЗУ является странично-ориентированной со средним размером страницы 1-32 байт. В силу технических особенностей ЭСППЗУ, для записи данных в ячейку памяти необходимо предварительное стирание всей страницы. Это означает, что запись происходит всегда для всей страницы целиком. Скорость записи в ЭСППЗУ составляет порядка 3-10 мс на одну страницу памяти. Объем памяти ЭСППЗУ от 64 до нескольких сотен килобайт. Поскольку объем памяти ЭСППЗУ ограничен, возникают определенные условия для использования алгоритмов и методов помехоустойчивого кодирования данных, хранимых на карте. Странично-ориентированный характер памяти ЭСППЗУ также создает определенную специфику использования методов помехоустойчивого кодирования в этом виде памяти. Другой технической особенностью ЭСППЗУ является ограниченность числа процедур записи, которые можно произвести в страницу памяти ЭСППЗУ. Этот предел сильно варьируется в зависимости от конструктивных особенностей чипа и таких условий эксплуатации, как температура и напряжение питания чипа, и находится чаще всего в диапазоне 10000-100000 циклов записи/считывания.Всякая страница памяти ЭСППЗУ при достижении определенного числа циклов записи может выйти из строя. Это означает, что страница памяти будет более непригодна для хранения в ней данных. Данные, находившиеся в ней, будут потеряны.Другой особенностью ЭСППЗУ является то, что данные, хранимые в этом виде памяти, могут храниться в ней только определенное время. Производителями

гарантируется время хранения порядка 5 лет. Когда срок службы ЭСППЗУ приближается к концу, время хранения данных может составлять несколько часов или минут.

Указанные ошибки являются характерными для данного вида памяти. Причиной иных ошибок могут быть, например, ошибки записи данных, вызванные помехами в цепи питания. Другим источником повреждения данных может служить статическое электричество.Таким образом, корректирующие коды, используемые в данном виде памяти, должны быть преследовать цель,прежде всего,восстановить данные целой страницы памяти.

Далее будем рассматривать перезапись i-ой страницы данных как событие, имеющее вероятность Pf. Величину Pf можно определить как отношение числа осуществленных циклов стирания/записи i-ой страницы к числу процедур записи за период эксплуатацииМКПИ. Вероятности Pid вместе составляют вектор вероятностей

Pd = (P0d,...,P—), где k - число страниц данных.Определим также вектор вероятностей

Pc =(P0c,...,PJc_1) как вектор, элементами которого являются вероятности Pic составляющие

событие перезаписи хотя бы одной страницы данных во время процедуры записи данных, зависимой от i-ой страницы контроля. События перезаписи страниц контроля в отличие от событий перезаписи страниц данных, в общем случае, не могут быть рассмотрены как

независимые. Также определим вектор Pc =(P0c,...,P^), элементами которого являются

вероятности Р/ перезаписи соответствующих страниц контроля.

Определим коэффициент эффективности кода как векторную величину:

P = (Po,.., рт-1 ) = —i—P. 0)

max P}-

Эта величина характеризует то, насколько чаще происходит перезапись каждой страницы контроля, чем самой нагруженной страницы данных. Если считать, что при достижении гарантийного числа циклов стирания/записи страница памяти выходит из строя, то в действительности число страниц памяти, необходимых для хранения контрольной информации, равно сумме величин pi, округленных да большего целого. Обозначим эту величину mi и приведем формулу для ее вычисления:

т-1

mm = -Z[-p ]. (2)

i=0

Определим относительный расход памяти s и действительный относительный расход памяти s:

т /-зч

е = —, (3)

к

~ т ,л.

е = -. (4)

к

Организация хранения данных в ЭСППЗУ на основе кода Хэмминга

Рассмотрим самокорректирующийся код Хэмминга. Будем обозначать через q

мощность алфавита кода С (Ы, т). Так как всякий символ кодового слова представляет

собой двоичную последовательность фиксированной длины I, очевидно, что q = 21. А так как доступ к памяти ЭСППЗУ побайтовый, наиболее целесообразным будет выбирать I так, чтобы либо в байте умещалось целое число символов-последовательностей, либо в символе помещалось целое число байт и одновременно в странице помещалось целое число символов. В первом случае I может быть равно 1, 2, 4, 8. Как правило, размер страницы памяти ЭСППЗУ равен 2 в некоторой степени, а потому и во втором случае I будет степенью двойки. Следовательно, длина I двоичной последовательности-символа должна быть равна степени двойки.

( qm -1 qm -1 ^

Рассмотрим код Хэмминга Сн -,--т . Число N страниц памяти

I q-1 q -1 )

qm -1

ЭСППЗУ, в которых будет размещаться код, в общем случае не будет совпадать с-. Но

q -1

требуемый код С может быть построен путем применения к коду Хэмминга операции укорочения кода [2], заключающуюся в удалении из кода нескольких информационных символов. Защищенность кода Сн от ошибок при этом нисколько не уменьшается.Для

возможности получения кода С из кода Хемминга Сн с помощью операции укорочения, параметр т кода Хемминга должен удовлетворять неравенству

сГ -1

* N, (5)

с -1

из которого может быть получена нижняя оценка для числа т страниц контроля:

т > ^ (Ы(с -1) +1). (6)

Чтобы показать, что код С (N, N - т) получен из кода Хемминга

Сн

( ст -1 ст -1 Л

-,--т

V С -1 С-1 )

, будем также обозначать его как Сн (N, N - т).

В качестве примера, выпишем в таблицу возможные параметры кода Сн (Ы, N - т)

для страниц памяти размером 32 байта с минимальными значениями т, и относительный расход памяти £ для каждого кода. В качестве параметра N будем брать различные степени двойки как один из наиболее часто встречаемых вариантов в ЭСППЗУ:

Таблица 1

Некоторые коды Сн (N, N - т) для 32-битных страниц памяти ЭСППЗУ и алфавита

кодирования из двоичных последовательностей длины I.

Длина кода N Длина последовательности-символа 1 (бит) Мощность q алфавита кода Число контрольных символов т Относительный расход памяти £

128 1 2 8 6.67%

128 2 4 5 4.06 %

128 4 16 3 2.4%

128 8 256 2 (гр. Синглтона) 1.59%

256 1 2 9 3.64%

256 2 4 5 1.99%

256 4 16 3 1.19%

256 8 256 2 (гр. Синглтона) 0.79%

512 1 2 10 1.99%

512 2 4 6 1.19%

512 4 16 4 0.79%

512 8 256 3 0.59%

512 16 65536 2 0.39%

1024 1 2 11 1.09%

1024 2 4 6 0.59%

1024 4 16 4 0.39%

1024 8 256 3 0.29%

1024 16 65536 2 0.2%

Как видно из таблицы 1, относительный расход памяти кодов вида Сн (N, N - т) не велик, и уменьшается с увеличением длины N кодовых слов и мощности q алфавита кодирования. Более реалистичную оценку расхода памяти дает действительный относительный расход памяти £, для оценки которого необходимо более детальное исследование работы кода. Найдем матрицу зависимостей кода.

Матрица зависимостей О кода Хемминга Сн

( qm -1 qm -1 ^

- т

может быть

V q-1 q-1 у

построена из проверочной матрицы кода Хемминга. При этом получается, что матрица О будет состоять из строк, являющихся всевозможными комбинациями единиц и нулей. При этом выполнены условия:

1. В каждой строке матрицы не менее двух единиц;

2. Всякая строка, представляющая из себя упорядоченный набор единиц и нулей,

встречается в матрице ровно (q -1) * 1 раз, где х число единиц.

Таким образом, все страницы данных для кода Хемминга С

н

Г qm -1 qm -1 >

- т

q -1 q -1

имеют от 2 до т зависимых страниц контроля. При этом число страниц данных, имеющих х зависимых страниц контроля всего (q -1)* 1 Ст, где Схт число сочетаний из т по х .

Каждая страница контроля имеет qm 1 -1 = ^ (q -1)* 1 С—^ зависимых страниц

х=2

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

данных. В случае укороченного кода число у'С зависимых страниц данных для каждой /-ой

страницы контроля будет меньше. Очевидно, наиболее рациональным при операции укорочения кода будет отбрасывать страницы, имеющие максимальное число зависимых страниц контроля. Также условимся делать выбор удаляемых страниц так, чтобы после их удаления разница между величинами у'с не превышала 1 и страницы с меньшим значением

/С при нумерации страниц данных шли первыми.

Таким образом, операция укорочения кода Хемминга будет однозначно заданной, а запись Сн (Ы, N - т) будет обозначать вполне определенный код, получаемый из кода

Сн

С qm -1 qm -1 ^ (qm -1 qm -1 ^ п

™ .При удалении из кода Сн --,---т не более (q-1)"

- т

V q-1 q-1 ) V q-1 q-1 )

страниц данных, для каждой страницы контроля число зависимостей уменьшится на число удаленных страниц. При удалении всех страниц данных, имеющих х зависимых страниц

контроля величина у'с уменьшится на — (q - 1)х 1 Схт. Следующее утверждение дает нижнюю

1 т т

границу для значений у': кода Сн (Ы, N - т) .

Утверждение 1. Если код Сн (Ы, N - т) получается из кода Хемминга

С

Г qm -1 qm -1 >

- т

q -1 q -1

)

операцией укорочения по страницам данных, имеющим максимальные значения у**, тодля величин уС выполнены неравенства:

С 2к

гС *

т

между величинами ус. не превышала 1, всякая величина ус. будет не меньше

Неравенство (7) может быть переписано как ус >

. Величина £ не должна

у] < qm-1 -1. (8)

Доказательство.Общее число зависимостей между страницами данных и контроля в

силу уй > й -1 не меньше 2к. Так как укорочение кода осуществляется так, чтобы разница

2к т

Неравенство (8) получается из неравенства для кода Хемминга. При укорочении кода число зависимостей только уменьшится, а потому неравенство останется справедливым.

"2

£

превышать 20%. Следовательно, можно заключить, что для любого кода Сн (N, N - т) должно быть выполнено неравенство: ус > 10 .Можно показать, что для кода Сн (N, N - т) величины ус могут быть сколь угодно уменьшены путем увеличения параметра т у исходного кода Хэмминга. При этом значение £ будет увеличиваться. Более интересным является тот факт, что во многих случаях при увеличении параметра т величины ус уменьшаются «быстрее», чем увеличивается значение £ .

Утверждение 2.Обозначим средние величины ус кодов Сн (N, N - т -1) и

Сн (N, N - т) как ус (т) и ус (т +1), соответственно. Если у кода Сн (N, N - т) есть страницы данных, имеющие число зависимостей уй > 2, товыполнено неравенство:

с, 1Ч т N - т -1 с, ч

ус (т +1)<--—-ус (т), (9)

4 у т +1 N - т 4 у

иначе выполнено равенство:

1Ч т N - т -1 с, ч ,1Г1Ч

ус (т +1) =----ус (т). (10)

4 у т +1 N - т 4 у

Доказательство.Сначала рассмотрим случай, когда для кода Сн (N, N - т) величины

уй = 2 для всех ¡. Число страниц данных, имеющих только 2 зависимых страницы контроля,

для кода Сн

( qm -1 а^ -1 ^

--, ---т

равно (q -1) С2т . Следовательно, для производного кода

V q -1 q-1 у

Сн (N, N - т) должно быть выполнено неравенство N - т <(q -1) С2т . Но тогда тем более выполнено неравенство N - т -1 <(q -1) С2т+1, означающее то, что в коде Сн (N, N - т -1)

й \ с( \ 2 Ш - т)

для всех страниц данных Уй = 2. Значения у (т) и у (т +1) равны —--- и

1 т

2 ( N - т -1)

—---, соответственно. Подстановкой этих значений в равенство (10) легко убедиться

т +1

в его справедливости.

В случае если для кода Сн (N, N - т) есть страницы данных с уй > 2, общее число

í

чХ-1

страниц данных может быть представлено как сумма N - т = q - 1)х Ст + / , где ' -

х=2

некоторое число меньше т , а f - положительный остаток не больше чем (q -1)' С+1. Для кода Сн (N, N - т -1) возможно аналогичное представление N - т -1 = ^ ( q -1)х Ст+1 + g .

Так как для любых т > х > 2 справедливо Схт < С^+1, получаем, что либо 5 <', либо 5 =' и g < /. Сопоставляя первые N - т -1 страниц данных кода Сн (N, N - т) страницам данных кода Сн (N, N - т -1), получаем, что число зависимостей для страниц данных второго кода меньше числа зависимостей соответствующих страниц данных первого кода. Кроме того, в коде Сн (N, N - т) последняя страница данных, имеющая а > 2 зависимостей, оказывается

«лишней». Поэтому общее число зависимостей кода Сн (N, N - т -1) как минимум на 3

меньше числа зависимостей кода Сн (N, N - т) . Получаем: ^ ус1 (т +1) < ^ ус1 (т) - а ,где

т-1

с / \

а

■ 1 \ / 1 ■

1=0 1=0

- максимальное число зависимостей для страниц данных кода Сн (N, N - т) . Осуществим преобразования с неравенством:

(т +1) ус (т +1) < т ус (т) - а,

(т+1)< т+7 (т)-ть.

т +1 т +1

т т 1

Преобразуем неравенство (9): ус (т +1) <-ус (т)---ус (т).

4 у т +1 4 у т +1N - т 4 у

т ус(т) а

Для доказательства достаточно показать, что -:-—н—-—г- <-. Заметим, что

(т + 1)(N - т) т +1

т ус (т) , ч --—- не что иное, как среднее число зависимостей страниц данных кода Сн (N, N - т).

N - т

Это число обязательно меньше а . Справедливость неравенства (9) доказана.

Для оценки эффективности кода Хемминга нам нужно произвести оценку значений вектора Рс при различных значениях Р1. Будем считать что нумерация страниц данных строится методом исчерпывания: в качестве /-ой страницы данных выбирается страница с максимальным значением вероятности перезаписи среди еще непронумерованных страниц данных. При такой нумерации страницы с наибольшей вероятностью перезаписи будут иметь наименьшее число зависимостей.

Пусть 1Р1 = ( р1,., р1) и 2 Р1 = ( р2,..., р2) векторы вероятностей с вероятностями р1

и р2 такими, что р1 < р2. Если 1Р1 и 2 Р1 два вектора вероятностей для страниц данных такие, что 1Р1 < 2Р1. Тогда для соответствующих векторов вероятности 1 Рс и 2Рс для страниц контроля справедливо неравенство 1 Рс < 2Рс. Следовательно, если 1Р1 < Р1 < 2 Р1, то для соответствующих векторов вероятностей для страниц контроля выполнено неравенство 1 Рс < Рс < 2 Рс. Это означает, что зависимость Рс от Р1 в значительной степени может быть изучена при исследовании более простого частного случая, когда все вероятности Pf равны некоторому значению р .Элементы вектора 1 - Р1 являются вероятностями того, что соответствующие страницы данных не изменяются при процедуре записи. Аналогично, элементы вектора 1™ - Рс являются вероятностями того, что не изменяется ни одна из страниц данных, зависимых от соответствующей страницы контроля. Так как мы считаем события перезаписи страниц данных независимыми, вероятность того, что некоторыйнабор страниц останется неизменным, равна произведению соответствующих вероятностей 1 - Р1. Иными словами вероятность 1 - Ргс равна произведению вероятностей неизменности зависимых с ней страниц данных. То есть, если код имеет матрицу зависимостей О ,тогда для всякого вектора вероятностей Р1 справедливо неравенство: 1п (1™ - Рс ) = 1п (\к - Р1 )О. В соответствии с равенством, все вероятности Р\с будут иметь значения:

1 -(1 - р У'. (11)

Сумму элементов вектора вероятностей Рс можно интерпретировать как математическое ожидание Ес числа перезаписываемых страниц контроля. Таким же образом

определим величину математического ожидания Ел числа записываемых страниц данных:

т-1 т-1

Ес = £ Рс =<£ , (12)

г=0 г=0

к-1

Ей = 2 Р? . (13)

1=0

Заметим, что величина Ел всегда должна быть больше или равна 1, что накладывает определенные ограничения на вектор вероятностей Рй . В силу замечаний выше, для любого кода, исправляющего не менее одной ошибки, величина Ес при этом будет не меньше 2.

Определим для помехоустойчивого кода, задаваемого на страницах памяти, функцию Я (Рй ) от вектора вероятности Рй :

/ й^Ес (Рй)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Я (Р' )= / Л . (14)

1 ' Ей (Рй)

Вычислим по формулам (12), (13), (14) математические ожидания числа перезаписываемых страниц данных и контроля, и функцию Я (р):

Ей =( N - т ) р ,

Е = 8

( т-1 с Л ( 1 V т-1

т(1 -рГ ) = (1 -1)( т-2(1 -рУ

V 1=0 ) V 2 /V 1=0

т-1

Я (Р ) = 11

1.т-2(1 - р)7 А л

2Ь ) (N-т)р ' где Ь - размер страницы памяти в битах.

Построим графики функции Я (р) при различных параметрах, рассмотренных в

таблице 1. Для этого предварительно найдем недостающие параметры у^ для кодов таблицы с N = 128 и N = 256.

В качестве примера вычислим ус для первого кода. Двоичный код Хемминга при

числе контрольных символов т = 8 имеет длину кодовых слов 28 -1 = 255 символов. Таким образом, для получения нужного кода должна быть применена операция укорочения и удалено 255 -128 = 127 символов, отвечающих страницам данных.

Так как (2 -1)8 С88 + (2 -1)7 С87 + (2 -1)6 С86 + (2 -1)5 С85 = 93 < 127, могут быть удалены

все страницы данных, имеющие более 4 зависимых страниц контроля. Число страниц

данных, имеющих четыре зависимых страницы контроля, равно (2 -1)4 С84 = 70, и из них

необходимо удалить 34 страницы данных. Удалять такие страниц будем попарно, объединяя в пары страницы, имеющих вместе в качестве зависимых все 8 страниц контроля. Такое

10

разбиение однозначно, и при удалении каждой пары все параметры у'с уменьшается на единицу. Отсюда получаем, что для любой страницы контроля

^ = 27 -1 -[8(2-1)8 С88 + 7(2-1)7 С87 + 6(2-1)6 С86 + 5(2-1)5 С85]-17 = 46.

В таблице 2 приведены значения величин у'с для кодов таблицы 1 с N = 128 и N = 256:

Таблица 2.

Число зависимостей уС страниц контроля от страниц данных для различных кодов

Хэмминга.

Длина кода N Мощность д алфавита кода Число контрольных символов т Зависимости страниц контроля уС

128 2 8 уС = 46

128 4 5 у0 = ус = у2 = 69, £ = У1 = 70

128 16 3 ГС = 116, у[ =У1 = 117

128 256 2 уС = 126

256 2 9 /0 = г! = /2 = 7°г = 93, У4 =г5 = У6 = ГС7 =71 = 94

256 4 5 я = 170, X =ус2 =усз =у1 = 171

256 16 3 уС = 238

256 256 2 уС = 254

Введем условные обозначения функции Я (р) для кодов таблицы 1. Будем записывать функции как Я1(р), Я2 (р), Я3 (р), Я4 (р) для четырех кодов с N = 128, и Я5 (р), Я6 (р), Я7 (р), Я8 (р) для четырех кодов с N = 256 . На рисунках 1 и 2 представлены графики названных функций:

02 04 06 О.Й 1

Рис. 1. Графики функций Я1( р ), Я2 ( р ), Я3 ( р ), Я4 ( р )

1

1

\

КВД

р

Рис. 2.Графики функций Я5 ( р ), Я6 ( р ), Я7 ( р ), Я8 ( р )

Как видно на представленных графиках, повышение мощности алфавита кодирования приводит к уменьшению отношения числа перезаписываемых страниц контроля к числу

перезаписываемых страниц данных. Отсюда уже можно сделать вывод о повышении эффективности кода за счет повышения мощности алфавита кодирования.

Более точную информацию об эффективности кода можно получить путем изучения векторной величины р (1) и действительного числа страниц контроля т (2), необходимого для обеспечения минимальной целостности страниц контроля. На рисунке 3 приведены графики функций т(р) для кодов Хемминга из таблицы 1 с длиной кодовых слов N = 128.

01 0 4 06 0.3 1

р

Рис. 3. Графики функций т(р) для кодов Хемминга таблицы 1 с N = 128

На рисунке 4 приведены графики функций т (р) для кодов Хемминга из таблицы 11 с длиной кодовых слов N = 256 :

0.2 04 06 08 1

Р

Рис. 4. Графики функций т(р) для кодов Хемминга таблицы 1 с N = 256

На представленных графиках можно видеть, что с понижением вероятности перезаписи страниц данных сильно повышается требуемое число страниц контроля. Это вызвано тем, что при уменьшении вероятности р математическое ожидание числа перезаписываемых страниц данных может сильно снизиться, в то время как страниц контроля такое снижение если и будет, то не значительным.

Из графиков можно сделать вывод, что для рассматриваемых кодов приемлемый расход памяти на кодирование начинается при вероятностях не менее 5-20%. Более наглядно это можно увидеть на графиках относительного расхода памяти ё, приведенных на рисунке 5:

Рис. 5. Действительный относительный расход памяти для кодов Хемминга таблицы t1 с

N = 128 и N = 256

Из графиков видно, что коды, имеющие большую длину кодовых слов, более эффективно расходуют память. Пунктирной линией на графике обозначен предельный уровень 20% расхода памяти, установленный нами в предыдущих разделах. Даже самый эффективный из кодов таблицы 1 имеет приемлемый расход памяти, только начиная с вероятности перезаписи страницы данных около 5%, т.е. при условии, что при каждой процедуре записи в среднем будет перезаписываться не менее 6 страниц данных.

Рассмотренные коды CH (N, N - m) являются кодами с минимальным значением параметра m в соответствии с формулой (6). В соответствии с утверждением 2 величины зависимостей yf. уменьшаются при увеличении параметра m . Данное обстоятельство может

служить в пользу большей эффективности кода с большим значением параметра m . В качестве примера исследуем зависимость эффективности кода отm для двоичных кодов вида CH (128,128 - m) . В таблице 3 приведены значения величин для таких кодов.

Таблица 3.

Число зависимостей yf страниц контроля от страниц данных для некоторых двоичных кодов

CH (128,128 - m)

Длина кода N Число контрольных символов т Зависимости страниц контроля у'с Относительный расход памяти е

128 8 ус = 46 6.25%

128 9 ^ = Г? = /И = 35, Гзс = ... = /8С = 36 7.03%

128 10 ГоС = 30, у[ =... = у9 = 31 7.81%

128 11 ^ = 26, Г1с = . = У\о = 27 8.59%

128 12 уСо = ... = Г5С = 23, Г6 = . = Гп = 24 9.38%

128 13 Г0 = . = 75 = 20, Г6 = ... = Гп = 21 10.16%

128 14 г0 = 17, г; = . = = 18 10.93%

128 15 Г0 = ... = Г5С = 15, Г6 = ... = У\4 = 16 11.71%

128 16 Г0 = ... = Гп = 14, /2 = . = Ги = 15 12.5%

Обозначим функции Я (р) для кодов Сн (128,128 - т) из таблицы 2.3 как

Я (р),Я (Р)Я (Р) .

На рисунке 6 изображены графики указанных функций в области, где их поведение представляет наибольший интерес.

005 0 1 013 02

Р

Рис. 6. Графики функций Я1 (р), Я2 (р),..., Яд (р)

Как можно заключить из представленных графиков функций, при малых значениях вероятности р коды Сн (128,128 - т) с большим значением параметра т оказываются

более эффективными. Но при вероятностях больших некоторого значения ситуация кардинально меняется, более эффективными оказываются коды с меньшим значением параметра т.

Организация хранения данных в ЭСППЗУ на основе кодаРида-Соломона

Коды Рида-Соломона СК5 (q -1, q -1 - 21) в отличие от кодов Хэмминга в общем

случае способны исправлять более одной ошибки и всегда удовлетворяют границе Синглтона. В случае кодов, исправляющих I = 1 ошибок, также можно строить кодовые слова, беря по одному символу из каждой страницы данных.

В случае произвольного значения параметра t возможно построение кодовых слов таким образом, чтобы из каждой страницы данных бралось t символов, а 2t контрольных символов таким же образом размещались по двум страницам контроля. Так как код исправляет t ошибок, любой сбой одной страницы памяти будет скорректирован. Подобное использование кодов, исправляющих более одной ошибки, имеет неоспоримое преимущество в плане исправления ошибок, несвязанных со сбоем страниц памяти. В случае возникновения более чем одной ошибки в пределах одного кодового слова, такой код справится с ней в отличие от кода, исправляющего одну ошибку.

При любом значении параметра t код будет иметь две страницы контроля. Причем, при изменении любого информационного символа будет следовать обязательное изменение всех 2t контрольных символов. Следовательно, каждая страница контроля зависит от всех страниц данных, - величины у'с = q -1 - 2t для всех страниц контроля.

Также как и в случае кодов Хемминга, длина кодовых слов может не совпадать с длиной кода Рида-Соломона, и требуемый код может быть построен путем операции укорочения. Полученный код будем обозначать СК5 (Ы, N - т), где т = 2t. Производный код

СК8 (q -1, q -1 - 21) очевидно должен удовлетворять условию:

q -1 < N . (15)

Заметим, что также как и для кодов Хемминга, q = 21, а параметр t должен быть таким, чтобы число q -символов одной страницы памяти делилось на t. Так как размер страницы памяти равен обычно степени двойки, параметр t сам должен быть степенью двойки.

Как и в предыдущем разделе для кодов Рида-Соломона возможно изучение расхода памяти. Но в отличие от кодов Хемминга, здесь ожидаемый расход памяти для всех кодов будет одним и тем же, так как число страниц контроля всегда равно двум, и они зависят от всех страниц данных. Более того коды Рида-Соломона будут расходовать память также как код Сн (Ы, N - М) из предыдущего раздела.

Возможности применения продольного контроля избыточности

В предыдущих разделах рассмотрены возможности исправления сбоя страниц памяти

с помощью кодов, обнаруживающих не менее одной ошибки. Все эти коды имеют минимальный вес кодовых слов ё > 3 . Коды с минимальным весом ё = 2 способны только обнаруживать единичную ошибку, но не исправлять ее. Рассмотрим гипотетическую ситуацию, когда аппаратно-программные возможности SMART-карты или ЯРШ-метки позволяют обнаруживать сбой, а также номер вышедшей из строя страницы. Наличие такой дополнительной информации позволяет использовать код сё = 2 как код, исправляющий одну ошибку.

Простейшим кодом с минимальным весом ё = 2 является код с битом четности. Применительно к организации кодовых слов, используемой нами, данный код оказывается ничем иным как кодом продольного контроля избыточности LRC. Данный код будет иметь одну страницу контроля равную сумме по модулю два всех страниц данных. Следовательно, текущий расход памяти на контрольную информацию для этого кода меньше в два и более раз, чем для кодов с весом ё > 3 .

По сравнению с кодами с весом ё = 3 число циклов перезаписи в страницах контроля также снизится примерно в два раза. Соответственно в такое же число раз понизится число страниц контроля, необходимых для обеспечения сохранности данных до первого выхода из строя страницы данных.

Алгоритм кодирования для данного кода является достаточно простым и компактным, и его машинный код легко может быть размещен в электронных интегральных схемах МКПИ.

Алгоритм восстановления потерянных данных может быть реализован следующим образом:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1. аппаратно-программными средствами МКПИобнаруживается сбой /-ой страницы данных;

2. потерянная страница данных вычисляется как сумма остальных страниц данных и страницы контроля.

Так как сбой страницы памяти может быть обнаружен без применения процедуры декодирования, она осуществляется только после обнаружения ошибки. Сама процедура декодирования по вычислительной сложности совпадает с процедурой кодирования. Код ее алгоритма также является достаточно компактным и может быть размещен в памяти SMART-карты либо RFID-метки.

Заключение

В статье рассмотрены реализации помехоустойчивого кодирования, основанные на кодах Хемминга, Рида-Соломона, продольном контроле избыточности. Анализ эффективности повышения надежности путем использования кода Хемминга для данных, хранящихся в ЭСППЗУ, показал, что повышение мощности алфавита кодирования приводит к уменьшению отношения числа перезаписываемых страниц контроля к числу перезаписываемых страниц данных, в свою очередь, повышение вероятности перезаписи страниц данных приводит к сильному росту требуемых число страниц контроля. Таким образом, коды Хемминга, имеющие большую длину кодовых слов, более эффективно расходуют память. Окончательный выбор алгоритма кодирования зависит от производительности МКПИ, степенью защищенности хранимых данных и степенью избыточности, определяемой объемом памяти.

Библиографический список

[1]. WolfgangR., WolfgangE.SmartCardHandbook. WILEY, 2011. - 1025 стр.

[2] Блейхут Р. Теория и практика кодов, контролирующих ошибки. М.: Мир, 1986. - 576 стр.

Сведения об авторах

Андрианова Елена Гельевна, доцент Московского государственного технического университета радиотехники, электроники и автоматики (МГТУ МИРЭА), к.т.н.; тел.: (903)7748505, (495)4338533, e-mail: andrianova@mirea.ru

Крюков Дмитрий Алексеевич, аспирант Московского государственного технического университета радиотехники, электроники и автоматики (МГТУ МИРЭА), тел.: (985) 4444085; e-mail: dm.bk@bk.ru

Петров Андрей Борисович, декан Московского государственного технического университета радиотехники, электроники и автоматики (МГТУ МИРЭА), д.т.н., профессор, тел.: (901)5602900, (495)4338533, e-mail: petrov@mirea.ru

19

i Надоели баннеры? Вы всегда можете отключить рекламу.