Мы работаем удаленно в штатном режиме

Испытательная лаборатория к вопросу оценки ПЭМИН цифровых сигналов. Жёсткие диски (HDD), оптические диски (CD, DVD)

Испытательная лаборатория к вопросу оценки ПЭМИН цифровых сигналов. Жёсткие диски (HDD), оптические диски (CD, DVD)

Испытательная лаборатория к вопросу оценки ПЭМИН цифровых сигналов. Жёсткие диски (HDD), оптические диски (CD, DVD)

Автор: Кондратьев А.В.

Итак, приспело время поговорить об одном из основных устройств типовой ПЭВМ – накопителях на «дисках». Причём сразу обо всех (HDD, CD, DVD и т.д.). В более ранних публикациях о них упоминалось, вообще-то. Но в контексте и без подробностей. А поскольку эти «девайсы» непременная часть любой современной ПЭВМ, то обойти их молчанием никак не получается.

Ещё раз напомним, что практически любой девайс из серии «внешних» хранителей данных является с нашей профессиональной точки зрения двумя устройствами:

  • интерфейс связи с собственно ПЭВМ
  • узлы записи на носитель.

У каждого из этих участков информационного тракта свои особенности, тактовые частоты, длительности импульса, системы кодирования и т.д. Начнём рассмотрение с интерфейса, как наиболее универсального и однотипного (особенно сейчас).

Рассматривать классический параллельный IDE интерфейс уже нет смысла. Во-первыз параллельный (следовательно, менее «опасный), во-вторых уже всё реже и реже встречающийся. Его место в дисковых интерфейсах безраздельно занимает интерфейс SATA в различных своих вариантах.

Пожалуй, наиболее практически распространённым на сегодняшний день следует назвать SATA1 (Revision 1.0) и SATA2 (Revision 2.0). SATA3 с версией протокола Revision 3.0 почти не встречается. На смену ему уже «поднимает голову» SATA 6.0 с версией протокола Revision 3.1.

Рассмотрим подробнее то, что важно именно с точки зрения проведения СИ.

Две симметричные пары «А» и «В» в семипроводном кабеле интерфейса SATA (остальные проводники «земля») работают в многократно уже упомянутом протоколе LVDS (Low-Voltage Differential Signaling; TIA-644) фирмы National Semiconductor. Сам интерфейс уже довольно подробно рассматривался в публикации, посвящённой TFT мониторам. Поэтому подробно рассматривать его уже не имеет смысла, но надо упомянуть, что версия для SATA предусматривает дифференциальные напряжения в витопаре около 250 мВ. Совсем немного, как видим.

ris-22.1.jpg

Кодирование потока данных в этом кабеле выполняется методом NRZI Non Return to Zero Invert to ones - метод без возврата к нулю с инвертированием для единиц. Этот метод представляет собой модификацию простого потенциального метода кодирования, называемого Non Return to Zero (NRZ), когда для представления 1 и 0 используются потенциалы двух уровней. В методе NRZI также используется два уровня потенциала сигнала, но потенциал, используемый для кодирования текущего бита зависит от потенциала, который использовался для кодирования предыдущего бита (так называемое дифференциальное кодирование). Если текущий бит имеет значение 1, то текущий потенциал представляет собой инверсию потенциала предыдущего бита, независимо от его значения. Если же текущий бит имеет значение 0, то текущий потенциал повторяет предыдущий.

Из описания метода NRZI видно, что для обеспечения частых изменений сигнала, а значит и для поддержания самосинхронизации приемника, нужно исключить из кодов слишком длинные последовательности нулей. Коды 4B/5B построены так, что гарантируют не более трех нулей подряд при любом сочетании бит в исходной информации..

А вот последовательность из сплошных единиц, похоже, ничем в кабеле «искусственным» не нарушается, обеспечивает постоянную тактовую частоту. Вполне должно подходить для тест-режима.

Оно-то так, но ещё до того, как попасть в кабель, поток данных кодируется логически по принципу 8b/10b (кодирование RLL). То есть каждый байт (8 бит) исходной последовательности заменяются на 10 бит в соответствии с определенными правилами. В результате для 256 возможных комбинаций из 8 входных бит получаем 1024 возможные комбинации для 10 выходных бит.

В случае протокола SATA разрешенных к использованию 10 битовых комбинаций значительно больше, чем 256. При этом каждой входной последовательности может соответствовать несколько выходных, а какая именно выходная комбинация будет использована, зависит от контрольного сигнала rd, формируемого в процессе передачи. Рассмотрим подробнее два этапа кодирования.

При кодировании 8 исходных бит разбиваются на две подгруппы: из 5 бит и из 3 бит. На первом этапе подгруппа 5 бит подвергается кодированию 5b/6b, то есть каждые 5 бит заменяются на 6. На втором этапе оставшиеся 3 бита подвергаются кодированию 3b/4b.

Целесообразность использования двухэтапного кодирования вызвана тем, что при кодировании каждой группы (сначала 5 бит, а потом оставшихся 3 бит) формируется специальный бинарный контрольный сигнал rd (Running Disparity), который может быть либо отрицательным (rd-), либо положительным (rd+).

При кодировании 5b/6b для 32 возможных 5-битных комбинаций на входе существует 46 6-битных возможных комбинаций на выходе (не 32 и не 64, а именно 46!). Получаются эти 46 возможных комбинаций следующим образом: каждой из 32 возможных 5-битных комбинаций на входе ставится в соответствие две 6-битные выходные последовательности: прямая и инверсная, за исключением тех 6-битных последовательностей, для которых количество «1» совпадает с количеством «0» -- отсюда именно 46 возможных комбинаций на выходе.

При кодировании 3b/4b для 8 возможных 3-битных комбинаций на входе существует 14 возможных 4-битных комбинаций на выходе, которые формируются так же, как и прежде.

При кодировании 3b/4b, так же как и при 5b/6b, использование прямой или инверсной выходной последовательности определяется текущим значением контрольного сигнала rd. Если сигнал rd положителен, то используется прямая последовательность, а если отрицателен -- то инверсная. При этом текущее значение сигнала rd определяется по предыдущей переданной последовательности из 6 или 4 бит.

Правило для формирования сигнала rd достаточно простое. Сигнал положителен, если количество единиц больше количества нулей в группе закодированных бит. Исключение составляют последовательности с равным количество нулей и единиц. Для последовательностей 000111 (подгруппа 6 бит) и 0011 (подгруппа 4 бит) сигнал считается положительным, а для последовательностей 111000 и 1100 -- отрицательным. Во всех остальных случаях сигнал rd нейтрален и не меняет своего состояния.

К примеру, если входная последовательность 5 бит 00001 подвергается кодированию 5b/6b, то при положительном текущем сигнале rd+ последовательность 00001 будет заменена на последовательность 100010. Если текущее значение сигнала rd отрицательно (rd-), то будет сформирована инверсная последовательность 011101. Но в обоих случаях последующее состояние сигнала rd изменится на противоположное, так как при rd+ в последовательности 100010 нулей больше, чем единиц, и, следовательно, сигнал rd примет отрицательное значение, а при rd- в последовательности 011101 единиц больше, чем нулей, и сигнал rd станет положительным.

Аналогичному кодированию в зависимости от текущего значения сигнала rd подвергается и подгруппа из 3 бит (кодированию 3b/4b), причем с учетом того, что сперва происходит кодирование 5b/6b, а потом 3b/4b, текущее значение сигнала rd при кодировании 3b/4b определяется по результату кодирования 5b/6b.

ris-21.2.jpg

Традиционный метод чтения и представления читаемой информации называется методом детектирования пиков.

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

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

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

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

Практическая косвенная проверка это утверждения выполнялась не раз, спектр ПЭМИН действительно представлял собою некие зоны, полосы частот в районе 1,5 (SATA 1) и 3 (SATA 2) ГГц с шириной полосы частот до 50-80 МГц «вокруг» центральной частоты. Сама тактовая частота, без признаков информативности, но с заметно бóльшим уровнем так же присутствовала. Прямая проверка с подключением хорошего ВЧ-пробника к дифференциальной паре кабеля и построение спектра хорошим цифровым осциллографом полосой 6-10 ГГц не проводилась (надеюсь – пока!) в связи с отсутствием прибора.

Тем не менее, понятно где (по частотам) искать сигналы ПЭМИН и как их измерить. Расчёт же результатов измерений именно таких сигналов (широкополосных) полностью совпадает с тем, что описывалось для ПЭМИН элементов Lan. Остаётся вопрос определения «лепестка» суммирования энергий сигналов. Но и это несложно, на мой взгляд. Зная тактовую частоту и бросив взгляд на эпюры переходов потенциала в витопаре кабеля (LVDS с кодированием NRZI) вполне допустимо утверждать, что мы будем иметь дело с сигналом класса «меандр». Следовательно полоса суммирования равна удвоенной тактовой. У грамотного «сишника» возникнет вопрос – а как же так, тогда верхняя частота «уйдёт» за границу установленного диапазона даже для первого «лепестка». Угу, уйдёт…. Но этот вопрос уже надо задавать не самому себе, не мне, а регулятору ;) А пока – либо тупо суммировать только до установленной границы (всё строго по методике), либо «по физике», честно просчитать (найти, измерить и проссумировать) хотя бы первый «лепесток». И доказывать свою правоту, в случае чего…

Добавим ещё, что в кабеле интерфейса SATA одна пара проводников работает на запись, вторая – на считывание данных. Поскольку всё в одном кабеле, между одними и теми же чипами, то вести СИ в режиме записи или считывания данных (именно для интерфейса!!!) – разницы нет. Передаваемые символы – любые, в том числе и случайные коды. Сформировать файл на 15-40 ГБт, чтобы процесс записи или считывания длился достаточно долго больших проблем не составляет (для CD/DVD). Как, впрочем, и применение типовых тест-программ для «HDD», например «Сигурд-тест».

Итак, с интерфейсом мы закончили.

Перейдём к рассмотрению узлов записи, поскольку всё остальное между входным буфером HDD (CD, DVD и т.д.) и записывающим узлом, предположительно, обрабатывается в параллельных многоразрядных кодах, внутри чипов, с крайне короткими линиями и поэтому ПЭМИН этого участка тракта неактуален.

Узел записи, то есть магнитная головка для типовых HDD или магнитооптических дисков или лазерный диод для CD/DVD дисков, вполне естественно, работает с последовательным кодированием данных. Причём, особенно для CD/DVD ещё и с избыточным, «помехоисправляющим» кодированием. А вот с каким именно…

Разбираясь в этом вопросе относительно методов кодирования и записи на «блины» современных HDD узнал довольно много нового :) Но то, что никто из технических писателей, работы которых несложно отыскать на просторах рунета, не «смотрит» на диски с той точки зрения, с которой должно смотреть «сишнику» осталось неизменным :(

Посему пришлось «горы словесной руды» ради тривиального вывода.

Итак, для принципиально интересующихся, желающих во всём разобраться самим и досконально приведу линки на материалы в сети. Переписывать их в эту публикация посчитал излишним. А минимальную «выжимку» - извольте.

Собственно, повсеместно применяемый сейчас в технологии HDD метод вертикальной записи к характеру сигнала в головке и её цепях большого отношения не имеет. В любом случае в головке записи создают ток двух противоположных направлений, чтобы перемагнитить домены (горизонтально или вертикально размещающиеся в слое – безразлично). Изменение тока вызывает ПЭМИН, сие есть аксиома. Кому хочется разобраться подробнее – пожалуйста, например, сюда:

http://portaltech.at.ua/publ/4-1-0-10

Очень неплохо подобранный и воспринимаемый материал, и не только по методу вертикальной записи.

А вот о методе кодирования при записи – это отдельно. Опять же, воздержусь от прямого цитирования работ других авторов. Главный вывод из того, что может пытливый «сишник» изучить, заключается в том, что, как и при рассмотрении многих иных методов (способов) кодировки у нас нет шансов подбором записываемого символа (повторяющегося) обеспечить постоянную тактовую частоту сигналов в головке записи и её цепях. Уже то, что методы RLL 2,7 или RLL 1,3 рассматривают для кодирования не байт, а группу байтов, подбирая их по своей внутренней, алгоритмической логике, препятствует этому. А многочисленные логические перекодировки, направленные на одну цель – увеличить плотность записи, делают наши попытки добиться постоянной тактовой и вовсе безнадёжными.

Вывод из этого всё тот же, уже поднадоевший и тривиальный – спектр ПЭМИН этих узлов должен носить сплошной характер. Независимо от записываемой информации…

Ну, коли так, то как же нам найти тактовую частоту сигналов записи в головке и её цепях?

Давайте порассуждаем.

В тест-режиме (во всяком случае при применении ПО «Сигурд-тест») осуществляется непрерывная запись на один и тот же цилиндр. Число поверхностей записи (следовательно и головок) легко выясняется при помощи программ – тестеров HDD. Например - Hard Disk Sentinel Pro (версии 3.40 и выше. ПО платное, но, коллеги, Вы же понимаете, что я НЕ ПРИЗЫВАЮ Вас всех пользоваться контрафактом!!! ;). Суть правильного выбора ПО заключается в том, что далеко не каждый HDD-тест даёт правильные ФИЗИЧЕСКИЕ данные диска. Чаще всего «прога» показывает не реальное, а логическое число цилиндров, к реальности не имеющее никакого отношения. HDS одно из исключений. В основном рабочем окне, на вкладке «Info» в самом низу есть блок «Информация о диске» (ещё одно преимущество HDS – нормальная локализация!). Вот пример информации:

Информация о Диске
Дисковое Семейство,Deskstar 7K80
Форм-фактор,"3.5"" "
Ёмкость,80 GB (80 x 1 000 000 000 байт)
Число Дисков,1
Число Головок,2
Скорость Вращения,7200 об/мин
Время Вращения,"8,33 ms"
Среднее Время Ожидания,"4,17 ms"
Интерфейс Диска,Serial-ATA/300
Максимальная Скорость Буфер-Хост,300 MB/секунд
Размер Буфера,8192 KB
Время Готовности Диска (типичное),? секунд
Среднее Время Позиционирования Головок,"8,8 ms"
Время Поиска Дорожки,"1,1 ms"
Полное Время Позиционирования Головок,"15,1 ms"
Ширина,"101,6 mm (4,0 inch)"
Глубина,"146,0 mm (5,7 inch)"
Высота,"25,4 mm (1,0 inch)"
Вес,"560 грамм (1,2 фунтов)"
Необходимая мощность для набора оборотов,3 300 mA
Необходимая мощность (позиционирование),"7,0 W"
Необходимая мощность (ожидание),"5,0 W"
Необходимая мощность (заблокированное),"2,0 W"
Производитель,Hitachi Global Storage Technologies

Как видите, информации предостаточно! Для нас важно – ДВЕ головки на двух плоскостях в каждом цилиндре.

А вот теперь начинаем читать и другую информацию о диске, считать и думать. Для определения (вычисления) скорости потока данных надо определиться с ёмкостью одного цилиндра, поскольку в ПО «Сигурд-тест» запись идёт на один и тот же цилиндр. Опять поможет ПО «третьих» производителей, например Acronis Disk Director Suite (версия 10.0 и выше, «сишник», будь честным – купи! ;) ).

Запускаем и смотрим данные форматирования конкретного диска:

Выделяем весь диск (не логический, а физический!), кликаем правой клавишей мыши и вызываем окно «Свойства»

ris-21.3.jpg

Здесь нас интересует логическое число цилиндров, головок и полный размер диска (полезная ёмкость). Итак, их, цилиндров, 10012 при полезной ёмкости диска 76,69 ГБт. Но мы знаем, что головок-то, реально, всего две! Значит реальное (не логическое!) число цилиндров в 255/2 больше, то есть 1276530 (произведение числа головок на число цилиндров = константа). Отлично, значит в каждом цилиндре 76,69 ГБт/1276530=0,0062427048 МБт. Ещё раньше в «Информации о диске» мы увидели, что один оборот диск совершает за 8,33 мс. Снова делим одно на другое и получаем скорость потока записи 7,494243 МБт/с. Запись последовательная, да ещё и RLL кодировка преобразует 8 битов в 10. Так что смело множим полученное число на 10, то есть 74,9 МБит/с. Но у нас две головки пишут параллельно, значит придётся ещё поделить на 2, получаем 37,47122 МБит/с или, грубо, тактовая частота сигнала в головках должна оказаться порядка 37,5 МГц. Вот и весь расчёт.

Манипулируя программами-тестерами (комбинация из HDS и Acronis не единственная) и правильно понимая, где данные физические, а где логические, мы получили совершенно реальную цифру ожидаемой тактовой частоты. Практика измерений ПЭМИН дисков, причём именно дисков, а не их интерфейсов, показывает наличие эдаких зон сплошного спектра на разных моделях дисков именно начинающихся с частот порядка 30-40 МГц и выше. И этот сплошной спектр при использовании старт-стопного тест-режима (например, ПО «Сигурд-тест»), оченно заметно «модулирован» установленными в тест-программе периодами записи и пауз между ними!

С определением «лепестка суммирования» поступаем традиционно, из рассмотрения метода вертикальной записи следует, что все переходы направления намагничивания доменов следуют через равные промежутки, то есть конечный сигнал в головке, приблизительно, меандр. Тогда полоса суммирования вдвое больше тактовой (что совершенно тривиально). Дальше только расчёт по методике. А как суммировать энергию сигнала ПЭМИН со сплошным спектром - уже было показано.

Добавить нужно разве что некоторые практические наблюдения. Сигналы SATA интерфейса выявляются по разному, часто их за пределами системного блока выявить просто не удаётся. Для целей именно выявления, чтобы убедить себя, что ПЭМИН существует и именно на ожидаемых частотах, полезно вскрыть системный блок и вынуть HDD из «корзинки», отнести его в сторону, насколько позволит SATA кабель. Искать ПЭМИН именно вблизи кабеля.

Собственно, так же рекомендуется искать ПЭМИН и самого HDD, CD, DVD (узлов записи). А уж когда искомые сигналы выявлены, тогда измерить их нужно уже от штатно собранного системного блока и на нормированном расстоянии. Кстати, в связи с их типовым весьма невысоким уровнем, становится актуальным применение малошумных пассивных антенн (например, AARONIA AG, ETS-Lindgrend или R&S), приёмника с малым уровнем шума (например, ESPI) и, наконец, проведение измерений в безэховой камере. В противном случае, не выявив сигналов на уровне достаточно высоких помех, Вы будете вынуждены выполнить «расчёт по шумам», который Вам даст весьма и весьма приличные значения R2.

Теперь, кратко, о практической стороне дела. Иллюстрируем вышеприведённые рекомендации реальными результатами. На рисунке 21.4 рабочий момент СИ именно того компьютера и того самого HDD, о котором шла речь в примере расчёта тактовой частоты.

ris-21.4.jpg

ris-21.5.jpg

Сама процедура поиска хорошо иллюстрируется фотографиями и комментариев по осуществлению не требует. Настройки системы «Сигурд» при поиске в районе частот 1,5 ГГц были следующие (рисунок 21.6)

Рисунок 21.6 – Настройки системы «Сигурд» и вид сигнала ПЭМИН в режиме «осциллографа». При сравнении с рисунком 21.9 хорошо видна эффективность «вайвлет» фильтра

Совсем не случайно выбраны полоса RBW, WBW, «цена» вертикального деления шкалы «Level». Именно в таких режимах ПЭМИН выявлялся нагляднее всего. Полоса частот, занимаемая сплошным спектром сигнала составила примерно ± 10 МГц с центральной строго 1,5005 ГГц.

Режимы теста при этом соответствовали настройкам ПО «Сигурд-тест», приведённым на рисунке 21.7

ris-21.7.jpg

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

Сложнее оказался поиск сигналов ПЭМИН от цепей записывающей головки. Размещение антенны и объекта СИ приведено на рисунке 21.8.

ris-21.7-b.jpg

ris-21.8.jpg

Настройки «Сигурд-тест» не изменились, а вот с настройками приёмного тракта пришлось повозиться. Первый «проход» вручную по диапазону частот 30÷400 МГц ни к чему не привёл. Как выяснилось, «виною» была слишком узкая полоса пропускания приёмника. Только когда RBW была увеличена до 1 МГц ПЭМИН стал «ловиться», практически, в сплошном спектре (рисунок 21.9). «Кратность» максимумов ПЭМИН оказалась близка к 39 МГц, что подтверждает правильность «прикидки» тактовой частоты.

ris-21.9.jpg

Наиболее заметная величина сигнала зафиксирована на частотах, занесённых в «записную книжку системы» - «F-список» «Сигурд» (рисунок 21.10)

ris-21.10.jpg

Сигналы ПЭМИН уверенно регистрировались до расстояний порядка 15÷20 см., после чего «уходили под шумы». С более качественной антенной (или при меньшем уровне внешних помех) эти расстояния будут, несомненно, больше.

Разумеется, при строгом подходе называть именно эти сигналы «ПЭМИН»-ом нельзя. На таких малых расстояниях это даже не ближняя зона, это прямая ёмкостная связи между одним из диполей антенны и источником, цепью. Но для обнаружения сигнала это роли не играет.

Отдельно рассмотрим, как прикинуть тактовую частоту потока данных для CD и DVD дисков. Как известно, их условные скорости записи измеряются «в кратах». Причём одна условная единица для CD равна 300 кБт/с, а для DVD – 1,5 МБт/с. Зная это и зная выбранную в «писалке» (например, ПО «Nero») скорость записи (например 8Х для DVD) несложно прикинуть, что скорость потока составит 1,5*8*10= 120 мБит/с (домножаем на 10, переводя байты в биты с учётом особенностей помехоисправляющего избыточного кодирования при «прожиге» диска). Все остальные соображения аналогичны таким же для HDD. На самом деле скорость будет несколько ниже, так как будет уходить время на смену цилиндров, синхронизацию начал треков и прочие служебные функции. Точно рассчитать тактовую частоту вряд ли возможно, уж больно много факторов на неё влияют, в том числе для конкретной модели девайса. Но для подстановки в расчётное выражение и для поиска ПЭМИН такой точности хватает.

Самым интересным в именно моей практике за последнее время было выявление чётко выраженного ПЭМИН от SATA интерфейса DVD диска (в режиме записи), чётко, на частоте 1,5 ГГц. Причём от спец. ПЭВМ, заэкранированой (доработанной!) не хуже танка Т-90. И, тем не менее – было!!! Правда, на расстоянии порядка 15-20 см, чуть дальше – сигнал «уходил под шумы». Но уровень шумов на ИП был далеко не минимальный и антенна – обычная АИ5-0 (как известно, «шипит» она чуть тише примуса).

ПОСМОТРЕТЬ
КАТАЛОГ