77721

Кодирование данных с ограничением длины поля записи

Лекция

Информатика, кибернетика и программирование

Для жестких дисков вскоре был изобретен более эффективный метод кодирования информации: RLL. В случае с гибкими дисками новые методы уже не использовались в силу отсутствия необходимости в переносе больших объемов данных на гибких дисках это было бы достаточно не надежно а также в случае с гибкими дисками требуется совместимость новых стандартов кодирования и старых: любой современный дисковод может читать как FM так и MFMкодированные диски в то время как принцип RLLкодирования принципиально отличается от двух предыдущих. Этот тип...

Русский

2015-02-05

64.5 KB

1 чел.

Кодирование данных с ограничением длины поля записи

RLL-кодирование

MFM-кодирование использовалось в ранних винчестерах, а также в флоппи-дисководах. Т.к. MFM-кодирование в два раза поднимало объем записываемой информации, такие гибкие диски назывались "double density". MFM-кодирование до сих пор используется в дисководах на магнитных дисках. Для жестких дисков, вскоре, был изобретен более эффективный метод кодирования информации: RLL. В случае с гибкими дисками, новые методы уже не использовались, в силу отсутствия необходимости в переносе больших объемов данных на гибких дисках (это было бы достаточно не надежно), а также, в случае с гибкими дисками требуется совместимость новых стандартов кодирования и старых: любой современный дисковод может читать как FM-, так и MFM-кодированные диски, в то время как принцип RLL-кодирования принципиально отличается от двух предыдущих.

RLL — run length limited или кодирование с ограничением длины поля записи. Этот тип кодирования был более сложным, и, строго говоря, это было семейство схем кодирования. У RLL-кодирования было два параметра, описывающих данный метод кодирования и в связи с этим было именно семейство схем кодирования, а не один метод кодирования.

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

RLL-кодирование было шагом вперед по сравнению с MFM-кодированием. Этот метод кодирования рассматривает группы из нескольких бит, вместо рассмотрения одного бита в один промежуток времени. Идея кодирования состоит в том, чтобы смешивать клоковые смены полярности и смены полярности данных, чтобы допустить более плотную запись на поверхность магнитной пластины. Два параметра, описывающих RLL есть run length и run limit (отсюда и следует имя данного семейства кодирующих схем). Слово run здесь относится к последовательности записываемой информации без смены полярности. Параметр run length — это минимальная длина между двумя сменами полярности, в то время как run limit — это максимальная длина без смены полярности. Как и было сказано ранее, длина между двумя сменами полярности не может быть слишком длинной, иначе у нас потеряется синхронизация бит.

Конкретная схема кодирования пишется как RLL(x,y) или x,y RLL, где x это run length, а y это run limit. Наиболее часто встречающаяся схема кодирования информации на накопителях это RLL(1,7) и RLL(2,7). Для того чтобы произвести кодирование, нужно иметь некий словарь, ставящий в соответствие входные данные выходным, давайте посмотрим на данный словарь в случае 2,7 RLL:

Битовая последовательность

Кодированная последовательность

Количество смен полярности на бит

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

11

RNNN

1/2

25%

10

NRNN

1/2

25%

011

NNRNNN

1/3

12.5%

010

RNNRNN

2/3

12.5%

000

NNNRNN

1/3

12.5%

0010

NNRNNRNN

2/4

6.25%

0011

NNNNRNNN

1/4

6.25%

Взвешенное среднее

0.4635

100%

Для примера, возьмем следующую последовательность бит: 10001111 (0х8Fh), эта последовательность будет представлена контроллером, как 10-0011011 и закодирована как NRNN-NNNNRNNN-RNNN. Следует заметить, что в данной схеме кодирования, каждая кодируемая последовательность из словаря оканчивается как NN, отсюда и видно, что минимальная длина между двумя сменами полярности равна 2. Максимальная длина, равная 7, будет достигаться в случае кодирования двух последовательностей 0011-0011.

Сравнивая эту таблицу с такими же для FM и MFM, можно увидеть несколько интересных вещей. Наблюдается увеличивающаяся сложность кодирования: используется 7 различных последовательностей, и одновременно рассматривается до 4 бит. Среднее количество смен полярности на один бит равно 0.4635 или примерно 0.5. Это примерно одна треть от FM и примерно две трети от MFM. Так что, по сравнению с FM-кодированием, мы можем записать втрое больше информации на один и тот же участок поверхности.

На рисунке представлено кодированная форма записи байта "10001111" в случае FM, MFM и RLL 2,7 кодирования.

PRML-кодирование

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

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

Для борьбы с этой проблемой был предложен новый метод распознавания данных. Эта технология, называемая PRML (partial response, maximum likelihood) — частичный ответ, максимальное правдоподобие, которая в корне меняет принцип чтения и декодирования данных, полученных с поверхности накопителя. Вместо того чтобы пытаться отличать индивидуальные всплески, контроллер, использующий PRML, применяет большую тактовую частоту дискретизации при переводе аналогового сигнала в цифровой, восстанавливая структуру считанного сигнала в цифровой форме, фильтруя его и используя различные методы цифровой обработки сигналов. Рассматривает не один всплеск, а целый временной интервал, описывающий считанный сигнал. Далее контроллер сравнивает полученные результаты и подбирает наиболее похожий набор данных. Т.е. в данном методе не обязательно даже считать сигнал целиком, достаточно считать только его часть, после чего контроллер определит, на что именно похожа эта часть, и декодирует информацию.

Этот метод считывания и декодирования информации позволил поднять поверхностную плотность записи на 30-40% по сравнению со старой схемой, использовавшей детектирование всплесков.

EPRML

Революционным шагом явилось создание технологии EPRML — улучшенного варианта PRML. Сам принцип работы остался тем же, но были улучшены алгоритмы работы анализирующих схем. Это дало увеличение поверхностной плотности записи до 70% по сравнению со стандартным PRML методом.

Во всех современных винчестерах используются различные вариации именно EPRML метода при считывании информации. Таким образом, в любом современном винчестере происходит вероятностное считывание: информация никогда не считывается полностью, считывается только ее часть, и именно по части восстанавливается оригинальный битовый набор.

На верхнем рисунке представлен принцип перевода аналогового сигнала в цифровой в случае пикового детектирования, на нижнем — в случае PRML метода считывания информации.



 

А также другие работы, которые могут Вас заинтересовать

13201. Потомки Белополя 261.5 KB
  Владимир ЛОБАЧ Александр ШИШКОВ Потомки Белополя Откуда взялись белорусы Новый взгляд на происхождение народа Вопросы происхождения народов неизменно вызывают жгучий интерес на протяжении всего новейшего времени. Именно на национальном уровне развития
13202. ИСТОРИЯ БЕЛАРУСИ (с древнейших времен до начала XXI в) 1.06 MB
  ИСТОРИЯ БЕЛАРУСИ с древнейших времен до конца XIX в. ИСТОРИЯ БЕЛАРУСИ XX начало XXI в. ИСТОРИЯ БЕЛАРУСИ с древнейших времен до конца XIX в. Программа курса Беларусь в период первобытнообщинного строя и раннего средневековья Древние общества на тер
13203. Политическая история Полоцкого княжества в XII веке 99 KB
  Политическая история Полоцкого княжества в XII веке Полоцкая земля одно из интереснейших раннефеодальных княжеств древней Руси. Она первая выделилась из состава Киевской Руси в ней следовательно впервые проявились те центробежные...
13204. Туровская земля 46 KB
  Туровская земля Образовалась в пределах расселения дреговичей в Южной Беларуси в бассейне реки Припять. Столица княжества город Туров упоминается впервые под 980 г. Первые известия и события 988 г. когда были определены границы Туровской земли свидетельствуют о том...
13205. Держава і право західних і південних словян 95 KB
  ТЕМА 2.6. Держава і право західних і південних слов’ян1. Виникнення і розвиток феодальної держави в Польщі.2. Виникнення і розвиток феодальної держави в Чехії.3. Особливості виникнення і розвитку феодальної держави в Болгарії.4. Виникнення і розвиток феодальної держави в Серб...
13206. Хрестоматия по истории южных и западных славян 1.6 MB
  Хрестоматия по истории южных и западных славян ОГЛАВЛЕНИЕ Предисловие Предисловие к первому тому РАННИЕ СЛАВЯНЕ Введение Прокопий Кесарийский История войн Юстиниана Тайная история О постройках Примечания Иордан Примечания ПсевдоКесарии ...
13207. НАЦИОНАЛЬНОЕ ВОЗРОЖДЕНИЕ ЗАРУБЕЖНЫХ СЛАВЯНСКИХ НАРОДОВ 4.44 MB
  ОГЛАВЛЕНИЕ НАЦИОНАЛЬНОЕ ВОЗРОЖДЕНИЕ ЗАРУБЕЖНЫХ СЛАВЯНСКИХ НАРОДОВ Введение Болгары 1. Из предисловия к Истории славяноболгарской о народе и о царях Паисия Хилендарского Воззвание Софрония Врачанского к болгарскому народу Предисловие к Рыбному бук
13208. Словянські народи у добу середньовіччя. Польська держава у ІХ- ХVI ст 94.5 KB
  Слов€янські народи у добу середньовіччя. Польська держава у ІХ ХVI ст.. До ІХст на польських землях проживало близько тридцяти слав€янських племен. Центрами об€єднань польських земель були: Велика Польща Північна і Центральна Польща частина Прусії і Мала Пол
13209. Балканські війни 29.5 KB
  Балканські війни На початку ХХ століття стало ясно що турецьке панування над деякими балканськими народами підходить до кінця. В березні 1912 року Болгарія і Сербія уклали договір про взаємодопомогу в разі нападу на одну з цих країн. Метою договору була війна з Тур