Реферат: Накопители на жестких дисках
Время ожидания (latency) - время, необходимое для прохода нужного сектора к головке, усредненный показатель – среднее время ожидания (average latency), получаемое как среднее от многочисленных тестовых проходов. После успокоения головок на требуемом цилиндре контроллер ищет нужный сектор. При этом, последовательно считываются адресные идентификаторы каждого проходящего под головкой сектора на дорожке. В идеальном, с точки зрения производительности случае, под головкой сразу окажется нужный сектор, в плохом - окажется, что этот сектор только что "прошел" под головкой, и, до окончания процесса успокоения необходимо будет ждать полный оборот диска для завершения операции чтения/записи. Это время у накопителей объемом от 540 мегабайт до 1 гигабайта составляет примерно 5.6, а у дисков свыше гигабайта - 4.2 миллисекунды и менее.
Время доступа (access time) - суммарное время, затрачиваемое на установку головок и ожидание сектора. Причем, наиболее долгим является промежуток времени установки головок.
Среднее время доступа к данным (average access time) - время, проходящее с момента получения запроса на операцию чтения/записи от контроллера до физического осуществления операции - результат сложения среднего время поиска и среднего времени ожидания. Среднее время доступа зависит от того, как организовано хранение данных и насколько быстро позиционируются головки чтения записи на требуемую дорожку. Среднее время доступа – усредненный показатель от многочисленных тестовых проходов, и обычно, оно составляет от 10 до 18 миллисекунд и используется как базовый показатель при сравнительной оценке скорости накопителей различных производителей.
Скорость передачи данных (data transfer rate), называемая также пропускной способностью (throughput), определяет скорость, с которой данные считываются или записываются на диск после того, как головки займут необходимое положение. Измеряется в мегабайтах в секунду (MBps) или мегабитах в секунду (Mbps) и является характеристикой контроллера и интерфейса. Различают две разновидности скорости передачи - внешняя и внутренняя. Скорость передачи данных, также является одним из основных показателей производительности накопителя и используется для ее оценки и сравнения накопителей различных моделей и производителей.
Внешняя скорость передачи данных (external data transfer rate или burst data transfer rate) показывает, с какой скоростью данные считываются из буфера, расположенного на накопителе в оперативную память компьютера. В настоящее время, накопители с интерфейсами EIDE или Fast ATA, обычно, имеют внешнюю скорость передачи данных от 11.1 до 16.6 мегабайта в секунду, а для накопителей с интерфейсами SCSI-2 - этот параметр находится в пределах от 10 до 40 мегабайт в секунду.
Внутренняя скорость передачи данных (internal transfer rate или sustained transfer rate) отражает скорость передачи данных между головками и контроллером накопителя и определяет общую скорость передачи данных в тех случаях, когда буфер не используется или не влияет (например, когда загружается большой графический или видеофайл). Внутренняя скорость передачи данных очень сильно зависит от частоты вращения шпинделя.
Размер кеш-буфера контроллера (internal cash size). Встроенный в накопитель буфер выполняет функцию упреждающего кэширования и призван сгладить громадную разницу в быстродействии между дисковой и оперативной памятью компьютера. Выпускаются накопители с 128, 256 и 512 килобайтным буфером. Чем больше объем буфера, тем потенциально выше производительность при произвольном "длинном" чтении/записи. Также, более емкий буфер обеспечивает рост производительности дисковой подсистемы, во-первых, при работе с объемными упорядоченными (записанными на диски последовательно) данными, а во-вторых - при одновременном обращении к диску множества приложений или пользователей, как это происходит в многозадачных сетевых ОС.
Средняя потребляемая мощность (capacity). При сборке мощных настольных компьютеров учитывается мощность, потребляемая всеми его устройствами. Современные накопители на ЖД потребляют от 5 до 15 Ватт, что является достаточно приемлемым, хотя, при всех остальных равных условиях, накопители с меньшей потребляемой мощностью выглядат более привлекательно. Это относится не только к экономии электроэнергии, но и надежности, т.к. более мощные накопители рассеивают избыток энергии в виде тепла и сильно нагреваются. А как известно, проблемы, связанные с изменением свойств магнитных носителей напрямую зависят от их температуры и коэффициента расширения/сжатия материала.
Уровень шума (noise level), разумеется, является эргономическим показателем. Однако, он также, является и некоторым показателем сбалансированности механической конструкции, т.к. шум в виде треска - есть не что иное как звук ударов позиционера шагового или линейного механизма, а, даже микро- удары и вибрация так не желательны для накопителей и приводят к более быстрому их износу.
Среднее время наработки на отказ (MTBF) - определяет сколько времени способен проработать накопитель без сбоев. К сожалению, точные оценки надежности производителями не афишируются. Они приводят обычно среднюю условную наработку на отказ в сотнях тысяч часов работы, что является расчетной статистической величиной. К тому же, производители используют для ее определения различные расчетные методики, поэтому сравнивать наработку на отказ, приводимую в спецификациях продукции разных компаний, нужно с особой осторожностью.
Сопротивляемость ударам (G-shock rating) - определяет степень сопротивляемости накопителя ударам и резким изменениям давления, измеряется в единицах допустимой перегрузки g во включенном и выключенном состоянии. Является важным показателем для настольных и мобильных систем.
Физический и логический объем накопителей . Носители жестких дисков, в отличие от гибких, имеют постоянное число дорожек и секторов, изменить которое невозможно. Эти числа определяются типом модели и производителем устройства. Поэтому, физический объем жестких дисков определен изначально и состоит из объема, занятого служебной информацией (разметка диска на дорожки и сектора) и объема, доступного пользовательским данным. Физический объем жесткого диска, также, зависит от типа интерфейса, метода кодирования данных, используемого физического формата и др. Производители накопителей указывают объемы дисков в миллионах байт, предполагая исходя из десятичной системы исчисления, что в одном мегабайте 1000000 байт. Однако, ПО оперирует не десятичной, а двоичной системами, полагая, что в одном килобайте не 1000 байт, а 1024. Такие несложные разногласия в системах исчисления приводят к несоответствиям при оценке объема накопителей, данном в описании и - выдаваемом различными программными тестами.
Одним из возможных, но не желательных способов повышения физической емкости, для производителей, является увеличение емкости сектора. В настоящее время, стандартной емкостью сектора для IBM-совместимых компьютеров является 512 байт. Многие адаптеры позволяют, в процессе физического форматирования, программным путем, изменять емкость сектора, например, до 1024 байт. При этом, соотношение пользовательских данных и служебной информации для сектора улучшается, но снижается надежность хранения данных, т.к. тот же полином ECC будет использоваться для коррекции большего объема данных. Однако, выигрыш на физическом уровне еще не означает тот же результат на логическом, т.к. логическая структура диска может оказаться не эффективной, например, при использовании для работы с файлами малой длинны (менее 1 К). Логический же объем зависит от того, как операционная система или программа записывает информацию в сектора. В случае использования программ и операционных систем с программной компрессией данных, можно повысить объем носителя на величину, зависящую от степени сжатия данных.
Для оптимального использования поверхности дисков применяется так называемая зонная запись (Zoned Bit Recording - ZBR), принцип которой состоит в том, что на внешних дорожках, имеющих большую длину (а следовательно - и потенциальную информационную емкость на единицу площади), информация записывается с большей плотностью, чем на внутренних. Таких зон с постоянной плотностью записи в пределах всей поверхности образуется до десятка и более; соответственно, скорость чтения и записи на внешних зонах выше, чем на внутренних. Благодаря этому файлы, расположенные на дорожках с большим диаметром, в целом будут обрабатываться быстрее файлов, расположенных на дорожках с меньшим диаметром, т.к. для них будет производится меньшее число позиционирований с дорожки на дорожку.
В ЖД последнего поколения используются технологии PRML (Partial Response, Maximum Likelihood - максимальное правдоподобие при неполном отклике) и S.M.A.R.T. (Self Monitoring Analysis and Report Technology - технология самостоятельного слежения анализа и отчетности). Первая разработана по причине того, что при существующих плотностях записи уже невозможно четко и однозначно считывать сигнал с поверхности диска - уровень помех и искажений очень велик. Вместо прямого преобразования сигнала используется его сравнение с набором образцов, и на основании максимальной похожести (правдоподобия) делается заключение о приеме того или иного машинного слова.
Накопитель, в котором реализована технология S.M.A.R.T., ведет статистику своих рабочих параметров (количество стартов/остановок и наработанных часов, время разгона шпинделя, обнаруженные/исправленные физические ошибки и т.п.), которая регулярно сохраняется в перепрограммируемом ПЗУ или служебных зонах диска. Эта информация накапливается в течение всего периода эксплуатации и может быть в любой момент затребована программами анализа. По ней можно судить о состоянии механики, условиях эксплуатации или примерной вероятности выхода из строя.
Контроллеры жестких дисков
Собственно контроллер накопителя физически расположен на плате электроники и предназначен для обеспечения операций преобразования и пересылке информации от головок чтения/записи к интерфейсу накопителя. Часто, контроллером называют интерфейс накопителя или интерфейс ПК с накопителем, что в общем не верно. Контроллер жестких дисков представляет собой сложнейшее устройство - микрокомпьютер, со своим процессором, ОЗУ и ПЗУ, схемами и системой ввода/вывода и т.п.. Однако, в большинстве случаев, производители размещают их в одном или двух микро-чипах.
Контроллер занимается множеством операций преобразования потока данных. Так как длинна дорожек неравна, данные на различные дорожки необходимо записывать неравномерно. Это становится проблемой, по сравнению с гибкими дисками, для носителей с высокой плотностью записи (число дорожек более 1000). Простые контроллеры, как правило, записывают одно и тоже количество информации на каждую дорожку, независимо от ее длинны. Для этого контроллер упаковывает данные более плотно, начиная с определенной по счету дорожки. Цилиндр, с которого начинается более плотная упаковка данных называется цилиндром начальной прекомпенсации (Starting Cylinder for Precompensation - SCP). Для компенсации искажения информации при чтении, запись данных производится с предварительным смещением битов, которое учитывает искажения.
Многие производители создают устройства, которые записывают различный объем информации на внутренние и внешние дорожки за счет размещения на них разного числа секторов. Это возможно, благодаря аппаратному скрытию от программ и пользователя физических характеристик устройства на уровне его контроллера и/или интерфейса (устройства с IDE, EIDE и SCSI интерфейсами). Поэтому, накопители, как правило, имеют различное физическое и логическое число цилиндров.
Также, в силу исторических причин, многие операционные системы, работающие с накопителями на ЖМД через BIOS, разработаны таким образом, что не могут оперировать числом цилиндров более 1024. Поскольку в настоящее время, накопители больших объемов (более 1Мб) имеют более 1024 физических цилиндра, то применяется программный пересчет, при котором, накопитель определяется его контроллером и процедурами BIOS как имеющий не более 1024 цилиндра, но имеющий некоторое нереальное число головок, поверхностей и секторов. Функция же пересчета для отыскания нужного сектора ложится либо на BIOS ПК, либо на BIOS контроллера, либо на интерфейс.
Данные, записываемые в сектора, защищаются от некоторых ошибок чтения/записи при помощи расчета и записи вместе с ними контрольной суммы - кода контроля ошибок (Error Correction Code - ECC). Записывая байты на диск, адаптер производит накопление циклическим делением входных данных на специальный полином, остатка от деления, который представляет уникальную комбинацию бит и записывается контроллером вместе с данными. Число байт ECC для каждого устройства определяется видом используемого полинома. При считывании данных производится аналогичное накопление и расчет контрольной суммы. В случае несовпадения результатов рассчитываемого и хранимого с данными ECC, производится попытка восстановления - коррекции данных при помощи полинома, имеющихся данных и контрольной суммы. Число байт данных, которое может быть скорректировано, определяется порядком используемого полинома. Чем она выше, тем большее количество байт подряд может быть скорректировано, но тем длиннее и сам код ECC. Используются разные полиномы и число байт ECC может быть от 4 до 8 и более. Число же бит информации, требуемое для записи одного байта, зависит от используемого метода кодирования. Необходимо отметить, что восстановление данных при помощи полинома и кода ECC происходит на уровне контроллера и прозрачно для программ и пользователя, однако, на основе процедур BIOS программным путем можно получить информацию о том, была ли произведена процедура коррекции.
Большинство современных накопителей поддерживают режимы работы контроллеров Ultra DMA, DMA2, и PIO. DMA - Direct Memory Access - прямой доступ к памяти - режим взаимодействия контроллера накопителя и интерфейса ПК, при котором обмен данными по интерфейсу осуществляется без участия центрального процессора ПК. Режим DMA позволяет заметно разгрузить процессор по сравнению с режимом PIO (Programmed Input/Output - программный ввод/вывод), при котором все пересылки выполняет непосредственно центральный процессор ПК. Это достигается за счет использования специального контроллера и канала прямого доступа к оперативной памяти ПК, без участи центрального процессора. Все современные накопители могут работать в режиме DMA2, если это поддерживается операционной системой, а скорость обмена при этом может достигать, в зависимости от модели, 16.6 Мб/с. А накопители и системы с поддержкой режима Ultra DMA, при использовании соответствующего драйвера, могут передавать и принимать информацию со скоростью 33.3 Мб/с. Однако, это лишь предельно возможные скорости обмена данными контроллера с буфером накопителя. Реальная же скорость чтения/записи даже в лучших моделях с интерфейсом ATA в настоящее время не превышает 10-11 Мб/с. Основная нагрузка при работе ложится именно на чтение/запись, передача данных в буфер и из буфера занимает лишь малую часть этого времени, и сам факт перехода на Ultra DMA, как правило, дает прирост лишь в единицы процентов. Но накопители с Ultra DMA, обычно, имеют высокую скорость вращения шпинделя, а следовательно - и более высокую скорость чтения/записи.
Физическое хранение, методы кодирования информации
Как уже говорилось, информация на поверхностях накопителя хранится в виде последовательности мест с переменной намагниченностью, обеспечивающих непрерывный поток данных при считывании их при помощи последовательного чтения. Вся информация и места ее хранения делятся на служебную и пользовательскую информацию. Служебная и пользовательская информация хранится в областях дорожек называемых секторами. Каждый сектор содержит область пользовательских данных - место, куда можно записать информацию, доступную в последующем для чтения и зону серво-данных, записываемых один раз при физическом форматировании и однозначно идентифицирующих сектор и его параметры (используется или нет, физический адрес сектора, ЕСС код и т.п.). Вся серво-информация не доступна обычным процедурам чтения/записи и носит абсолютно уникальный характер в зависимости от модели и производителя накопителя.
В отличие от дискет и старых накопителей на ЖД, диски современных накопителей проходят первичную, или низкоуровневую, разметку (Low Level Formatting) на специальном заводском высокоточном технологическом стенде. В ходе этого процесса на диски записываются служебные метки - серво-информация, а также формируются привычные дорожки и сектора. Таким образом, если когда-то новый накопитель нужно было "форматировать на низком уровне", то сейчас этого делать не то чтобы не нужно - это просто невозможно без специального сложнейшего оборудования, а различные "программы низкоуровневого форматирования" чаще всего просто обнуляют содержимое секторов с проверкой их читаемости, хотя порой могут и необратимо испортить служебную разметку и серво-информацию служебных секторов.
Появление различных методов кодирования данных секторов связано, прежде всего, с техническими особенностями устройств хранения и передачи информации и желанием производителей наиболее полно использовать физическое пространство носителей информации. В настоящее время используется несколько различных методов кодирования данных.
Частотная модуляция (Frequency Modulation - FM) - метод, используемый в накопителях на сменных магнитных дисках. Иначе, кодирование методом FM можно назвать кодированием с единичной плотностью. Метод предполагает запись на носитель в начале каждого битового элемента данных бита синхронизации. Битовый элемент определяется как минимальный интервал времени между битами данных, получаемый при постоянной скорости вращения диска носителя. Метод гарантирует, по меньшей мере, одну перемену направления магнитного потока за единицу времени вращения. Такой временной интервал соответствует максимальной продольной плотности магнитного потока 2330 перемен на 1 см и скорости передачи данных – 125 Кбит/сек. Простота кодирования и декодирования по методу FM определяется постоянной частотой следования синхроимпульсов. Однако, наличие этих бит синхронизации и является одним из недостатков данного метода, т.к. результирующий код малоэффективен с точки зрения компактности данных (половина пространства носителя занимается битами синхронизации). Это один из первых методов, не используемый в настоящее время в накопителях на ЖД.
Модифицированная частотная модуляция (Modified Frequency Modulation - MFM) - улучшенный метод FM. Модификация заключается в сокращении вдвое длительности битового элемента - до 4 мкс и использовании бит синхронизации не после каждого бита данных, а лишь в случаях, когда в предшествующем и текущем битовых элементах нет ни одного бита данных. Такой способ кодирования позволяет удвоить емкость носителя и скорость передачи данных, по сравнению с методом FM, т.к. в одном и том же битовом элементе никогда не размещаются бит синхронизации и данных, а на один битовый элемент приходится только одна перемена направления магнитного потока. Также, в настоящее время не используется.