|
||
Внешняя память 271
|
||
|
||
граничных регистров производится операционной системой при загрузке программы. При каждом обращении к памяти проверяется, попадает ли используемый адрес в установленные границы. Такую проверку, например, можно организовать на этапе преобразования виртуального адреса в физический. При нарушении границы доступ к памяти блокируется, и формируется запрос прерывания, вызывающий соответствующую процедуру операционной системы. Нижнюю границу разрешенной области памяти определяет сегментный регистр. Верхняя граница подсчитывается операционной системой в соответствии с размером размещаемого в ОП сегмента.
В рассмотренной схеме необходимо, чтобы в ВМ поддерживались два режима работы: привилегированный и пользовательский. Запись информации в граничные регистры возможна лишь в привилегированном режиме.
Метод ключей защиты
, Метод позволяет организовать защиту несмежных областей памяти. Память условно делится на блоки одинакового размера. Каждому блоку ставится в соответствие некоторый код, называемый ключом защиты памяти. Каждой программе, в свою очередь, присваивается код защиты программы. Условием доступа программы к конкретному блоку памяти служит совпадение ключей защиты памяти и программы, либо равенство одного из этих ключей нулю. Нулевое значение ключа защиты программы разрешает доступ ко всему адресному пространству и используется только программами операционной системы. Распределением ключей защиты программы ведает операционная система. Ключ защиты программы обычно представлен в виде отдельного поля слова состояния программы, хранящегося в специальном регистре. Ключи защиты памяти хранятся в специальной памяти. При каждом обращении к ОП специальная комбинационная схема производит сравнение ключей защиты памяти и программы. При совпадении доступ к памяти разрешается. Действия в случае несовпадения ключей зависят от того, какой вид доступа запрещен: при записи, при чтении или в обоих случаях. Если выяснилось, что данный вид доступа запрещен, то так же как и в методе граничных регистров формируется запрос прерывания и вызывается соответствующая процедура операционной системы.
Внешняя память
Важным звеном в иерархии запоминающих устройств является внешняя, или вторичная память, реализуемая на базе различных ЗУ. Наиболее распространенные виды таких ЗУ — это магнитные и оптические диски и магнитоленточные устройства.
Магнитные диски
Информация в ЗУ на магнитных дисках (МД) хранится на плоских металлических или пластиковых пластинах (дисках), покрытых магнитным материалом. Данные записываются и считываются с диска с помощью электромагнитной катушки» называемой головкой считывания/записи, которая в процессе считывания и записи
|
||
|
||
|
||
272 Глава 5. Память
|
||
|
||
неподвижна, в то время как диск вращается относительно нее. При записи на головку подаются электрические импульсы, намагничивающие участок поверхности под ней, причем характер намагниченности поверхности различен в зависимости от направления тока в катушке. Считывание базируется на электрическом токе, наводимом в катушке головки, под воздействием перемещающегося относительно нее магнитного поля. Когда под головкой проходит участок поверхности диска, в катушке наводится ток той же полярности, что использовался для записи информации. Несмотря на разнообразие типов магнитных дисков, принципы их организации обычно однотипны.
Организация данных и форматирование
Данные на диске организованы в виде набора концентрических окружностей, называемых дорожками (рис. 5.35). Каждая из них имеет ту же ширину, что и головка Соседние дорожки разделены промежутками. Это предотвращает ошибки из-за смещения головки или из-за интерференции магнитных полей. Как правило, для упрощения электроники принимается, что ни всех дорожках может храниться одинаковое количество информации. Таким образом, плотность записи увеличивается от внешних дорожек к внутренним.
|
||
|
||
|
||
|
||
|
||
Внешняя память 2 7 3
|
||
|
||
Обмен информацией с МД осуществляется блоками. Размер блока обычно меньше емкости дорожки, и данные на дорожке хранятся в виде последовательных областей — секторов, разделенных между собой промежутками. Размер сектора равен минимальному размеру блока.
Типовое число секторов надорожке колеблется от 10 до 100. При такой организации должны быть заданы точка отсчета секторов и способ определения начала и конца каждого сектора. Все это обеспечивается с помощью форматирования, в ходе которого на диск заносится служебная информация, недоступная пользователю и используемая только аппаратурой дискового ЗУ.
|
||
|
||
|
||
|
||
Рис. 5.36. Формат дорожки диска типа «Винчестер» (Seagate ST506)
Пример разметки МД показан на рис. 5.36. Здесь каждая дорожка включает в себя 30 секторов по 600 байт в каждом. Сектор хранит 512 байт данных и управляющую информацию, нужную для контроллера диска. Поле заголовка содержит информацию, служащую для идентификации сектора. Байт синхронизации представляет собой характерную двоичную комбинацию, позволяющую определить начало поля. Номер дорожки определяет дорожку на поверхности. Если в накопителе используется несколько дисков, то номер головки определяет нужную поверхность. Поле заголовка и поле данных содержат также код циклического контроля, позволяющий обнаружить ошибки. Обычно этот код формируется последовательным сложением по модулю 2 всех байтов, хранящихся в поле.
Характеристики дисковых систем
В табл. 5.8 приведена классификация разнообразных систем МД.
|
||
|
||
|
||||||||||||||||||||||||||||||||
274 Глава 5. Память
|
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
Таблица 5.8. Характеристики дисковых систем
|
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
В ЗУ с фиксированными головками приходится по одной головке считывания/ записи на каждую дорожку. Головки смонтированы на жестком рычаге, пересекающем все дорожки диска (рис. 5.37, а). В дисковом ЗУ с подвижными головками имеется только одна головка, также установленная на рычаге (рис. 5.37,6), однако рычаг способен перемещаться в радиальном направлении над поверхностью диска, обеспечивая возможность позиционирования головки на любую дорожку.
Диски с магнитным носителем устанавливаются в дисковод, состоящий из рычага, шпинделя, вращающего диск, и электронных схем, требуемых для ввода и вывода двоичных данных. Несъемный диск зафиксирован на дисководе. Съемный дис\ может быть вынут из дисковода и заменен на другой аналогичный диск. Преимущество системы со съемными дисками — возможность хранения неограниченного объема данных при ограниченном числе дисковых устройств. Кроме того, такой диск может быть перенесен с одной ВМ на другую.
|
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
Рис. 5.37. Варианты организации дисков: а — с фиксированными головками; б — с подвижной головкой
|
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
Большинство дисков имеет магнитное покрытие с обеих сторон. В этом случае говорят о двусторонних (double-sided) дисках. Односторонние (single-sided) диски в наше время встречаются достаточно редко.
|
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
|
||
Внешняя память 275
|
||
|
||
|
||
|
||
6
Рис. 5.38. Дисковое ЗУ: а — с одной пластиной; б— с дисковым, пакетом
|
||
|
||
На оси может располагаться один (рис. 5.38, а) или несколько (рис. 5.38, б) дисков. В последнем случае используют термин дисковый пакет.
В зависимости от применяемой головки считывания/записи можно выделить три типа дисковых ЗУ. В первом варианте головка устанавливается на фиксиро-
■ ванной дистанции от поверхности так, чтобы между ними оставался воздушный промежуток. Второй вариант — это когда в процессе чтения и записи головка и диск находятся в физическом контакте. Такой способ используется, например, в накопителях на гибких магнитных дисках (дискетах).
Для правильной записи и считывания головка должна генерировать и воспринимать магнитное поле определенной интенсивности, поэтому чем уже головка, тем ближе должна она размещаться к поверхности диска (более узкая головка оз-
' начает и более узкие дорожки, а значит, и большую емкость диска). Однако приближение головки к диску означает и больший риск ошибки за счет загрязнения
: и дефектов. В процессе решения этой проблемы был создан диск типа винчестер.
■Головки винчестера и диски помещены в герметичный корпус, защищающий их от загрязнения. Кроме того, головки имеют очень малый вес и аэродинамическую форму. Они спроектированы для работы значительно ближе к поверхности диска, чем головки в обычных жестких дисках, тем самым повышается плотность хранения данных. При остановленном диске головка прилегает к его поверхности. Давления, возникающего при вращении диска, достаточно для подъема головки над Поверхностью. В результате создается неконтактная система с узкими головками считывания/записи, обеспечивающая более плотное прилегание головки к поверхности диска, чем в обычных жестких дисках.
Массивы магнитных дисков с избыточностью
Магнитные диски, будучи основой внешней памяти любой ВМ, одновременно остаются и одним из «узких мест» из-за сравнительно высокой стоимости, недостаточной производительности и отказоустойчивости. Характерно, что если в плане
|
||
|
||
|
||
276 Глава 5. Память
|
||
|
||
стоимости и надежности ситуация улучшается, то разрыв в производительности между МД и ядром ВМ постоянно растет. Так, при удвоении быстродействия процессоров примерно каждые два года для МД такое удвоение было достигнуто лишь спустя десять лет. Ясно, что уже с самого начала использования подсистем памяти на базе МД не прекращаются попытки улучшить их характеристики. Одно из наиболее интересных и универсальных усовершенствований было предложено в 1987 году учеными университета Беркли (Калифорния) [179]. Проект известен под аббревиатурой RAID (Redundant Array of Independent (or Inexpensive) Disks) —массив независимых (или недорогих) дисков с избыточностью. В основе концепции RAID лежит переход от одного физического МД большой емкости к массиву недорогих, независимо и параллельно работающих физических дисковых ЗУ, рассматриваемых операционной системой как одно большое логическое дисковое запоминающее устройство. Такой подход позволяет повысить производительность дисковой памяти за счет возможности параллельного обслуживания запросов на считывание и запись, при условии, что данные находятся на разных дисках. Повышенная надежность достигается тем, что в массиве дисков хранится избыточная информа- ' ция, позволяющая обнаружить и исправить возможные ошибки. На период, когда концепция RAID была впервые предложена, определенный выигрыш достигался и в плане стоимости. В настоящее время, с развитием технологии производства МД, утверждение об экономичности массивов RAID становится проблематичным, что, однако, вполне компенсируется их повышенными быстродействием и отказоустойчивостью.
В [ 179] рассмотрены пять схем организации данных и способов введения избыточности, названные авторами уровнями RAID: RAID 1, RAID 2,..., RAID 5. В на- < стоящее время производители RAID-систем, объединившиеся в ассоциацию RAB j (RAID Advisory Board), договорились о единой классификации RAID, включаю- ; щей в себя шесть уровней (добавлен уровень RAID 0). Известны также еще не- ^ сколько схем RAID, не включенных в эту классификацию, поскольку по сути они ; представляют собой различные комбинации стандартных уровней. Хотя ни одна !; из схем массива МД не может быть признана идеальной для всех случаев, каждая из них позволяет существенно улучшить какой-то из показателей (производитель-. * ность, отказоустойчивость) либо добиться наиболее подходящего сочетания этих > показателей. Для всех уровней RAID характерны три общих свойства:
• RAID представляет собой набор физических дисковых ЗУ, управляемых one-1 : рационной системой и рассматриваемых как один логический диск;
• данные распределены по физическим дискам массива; ;
• избыточное дисковое пространство используется для хранения дополнитель-: ной информации, гарантирующей восстановление данных в случае отказа диска ':
Повышение производительности дисковой подсистемы
Повышение производительности дисковой подсистемы в RAID достигается с помощью приема, называемого расслоением или расщеплением (striping). В его основе лежит разбиение данных и дискового пространства на сегменты, так называемые полосы (strip — узкая полоса). Полосы распределяются по различным дискам массива, в соответствий с определенной системой. Это позволяет производить па-
|
||
|
||
|
||
Внашяя память 277
|
||
|
||
f. раллельное считывание или запись сразу нескольких полос, если они расположе-{■ ны на разных дисках. В идеальном случае производительность дисковой подсис-i. темы может быть увеличена в число раз, равное количеству дисков в массиве. j Размер (ширина) полосы выбирается исходя из особенностей каждого уровня RAID I" и может быть равен биту, байту, размеру физического сектора МД (обычно . 512 байт) или размеру дорожки.
Чаще всего логически последовательные полосы распределяются по последо-* вательным дискам массива. Так, в я-дисковом массиве п первых логических полос ! физически расположены как первые полосы на каждом из п дисков, следующие •; п полос — как вторые полосы на каждом физическом диске и т. д. Набор логичес-Vkh последовательных полос, одинаково расположенных на каждом ЗУ массива, , называют поясом (stripe — широкая полоса).
Как уже упоминалось, минимальный объем информации, считываемый с МД
или записываемый на него за один раз, равен размеру физического сектора диска.
Это приводит к определенным проблемам при меньшей ширине подосы, которые RAID обычно решаются за счет усложнения контроллера МД.
': Повышение отказоустойчивости дисковой подсистемы
Одной из целей концепции RAID была возможность обнаружения и коррекции ' ошибок, возникающих при отказах дисков или в результате сбоев. Достигается это за счет избыточного дискового пространства, которое задействуется для хранения дополнительной информации, позволяющей восстановить искаженные или утерянные данные. В RAID предусмотрены три вида такой информации:
• дублирование;
• код Хэмминга;
• биты паритета.
Первый из вариантов заключается в дублировании всех данных, при условии, ,что экземпляры одних и тех же данных расположены на разных дисках массива. Это позволяет при отказе одного из дисков воспользоваться соответствующей информацией, хранящейся на исправных МД. В принципе распределение информации по дискам массива может быть произвольным, но для сокращения издержек, связанных с поиском копии, обычно применяется разбиение массива на пары МД, где в каждой паре дисков информация идентична и одинаково расположена. При таком дублировании для управления парой дисков может использоваться общий или раздельные контроллеры. Избьпочность дискового массива здесь составляет 100%.
Второй способ формирования корректирующей информации основан на вычислении кода Хэмминга для каждой группы полос, одинаково расположенных на всех дисках массива (пояса). Корректирующие биты хранятся на специально выделенных для этой цели дополнительных дисках (по одному диску на каждый бит). Гак, для массива из десяти МД требуются четыре таких дополнительных диска, и избьпочность в данном случае близка к 30%.
... В третьем случае вместо кода Хэмминга для каждого набора полос, расположенных в идентичной позиции на всех дисках массива, вычисляется контрольная полоса, состоящая из битов паритета. В ней значение отдельного бита формируется как сумма по модулю два для одноименных битов во всех контролируемых по-
|
||
|
||
|
||
______________;_____________I___________________________:---------------------------------
2 7 8 Глава 5. Память
лосах. Для хранения полос паритета требуется только один дополнительный диск. В случае отказа какого-либо из дисков массива производится обращение к диску паритета, и данные восстанавливаются по битам паритета и данным от остальных дисков массива. Реконструкция данных достаточно проста. Рассмотрим массив из пяти дисковых ЗУ, где диски ХО-ХЗ содержат данные, а Х4 — это диск паритета. Паритет для /-го бита вычисляется как
XAt - Щ Ф Х2( Ф Х\, Ф X0t
Предположим, что дисковод XI отказал. Если мы добавим Х4,- Ф Х\{ к обеим частям предыдущего выражения, то получим:
Χί{,- XAt Ф ЛСЭу Ф Х2,Ф X0t
Таким образом, содержимое каждой полосы данных на любом диске массива может быть восстановлено по содержимому соответствующих полос на остальных дисках массива. Избыточность при таком способе в среднем близка к 20%.
RAID уровня О
RAID уровня 0, строго говоря, не является полноценным членом семейства RAID, поскольку данная схема не содержит избыточности и нацелена только на повышение производительности в ущерб надежности.
В основе RAID 0 лежит расслоение данных. Полосы распределены по всем дискам массива дисковых ЗУ по циклической схеме (рис. 5.39). Преимущество такого распределения в том, что если требуется записать или прочитать логически последовательные полосы, то несколько таких полос (вплоть до п) могут обрабатываться параллельно, за счет чего существенно снижается общее время ввода/вы- > вода. Ширина полос в RAID 0 варьируется в зависимости от применения, но в любом случае она не менее размера физического сектора МД.
|
||
|
||
|
||
|
||
Рис. 5.39. RAID уровня О
RAID 0 обеспечивает наиболее эффективное использование дискового пространства и максимальную производительность дисковой подсистемы при минимальных затратах и простоте реализации. Недостатком является незащищенность данных — отказ одного из дисков ведет к разрушению целостности данных во всем массиве. Тем не менее существует ряд приложений, где производительность и емкость дисковой системы намного важнее возможного снижения надежности. К таким можно отнести задачи, оперирующие большими файлами данных, в основном
|
||
|
||
|
|||
Внешняя память 2 7 9
|
|||
|
|||
в режиме считывания информации (библиотеки изображений, большие таблицы и т. п.), и где загрузка информации в основную память должна производиться как можно быстрее. Учитывая отсутствие в RAID G средств по защите данных, желательно хранить дубликаты файлов на другом, более надежном носителе информации, например на магнитной ленте.
RAID уровня 1
В RAID 1 избыточность достигается с помощью дублирования данных. В принципе исходные данные и их копии могут размещаться по дисковому массиву произвольно, главное чтобы они находились на разных дисках. В плане быстродействия и простоты реализации выгоднее, когда данные и копии располагаются идентично на одинаковых дисках. Рисунок 5.40 показывает, что, как и в RAID 0, здесь имеет место разбиение данных на полосы. Однако в этом случае каждая логическая полоса отображается на два отдельных физических диска, так что каждый диск в массиве имеет так называемый «зеркальный» диск, содержащий идентичные данные. Для управления каждой парой дисков может бьпь использован общий контроллер, тогда данные сначала записываются на основной диск, а затем. — на «зеркальный» («зеркалирование»). Более эффективно применение самостоятельных контроллеров для каждого диска, что позволяет производить одновременную запись на оба диска.
|
|||
|
|||
|
|
||
|
|||
Запрос на чтение может быть обслужен тем из двух дисков, которому в данный момент требуется меньшее время поиска и меньшая задержка вращения. Запрос на запись требует, чтобы были обновлены обе соответствующие полосы, но это выполнимо и параллельно, причем задержка определяется тем диском, которому нужны большие время поиска и задержка вращения. В то же время у RAID 1 нет дополнительных затрат времени на.вычисление, вспомогательной корректирующей информации. Когда одно Дисковое ЗУ отказывает, данные могут быть просто взяты со второго.
Принципиальный изъян RAID 1 — высокая стоимость: требуется вдвое больше физического дискового пространства. По этой причине использование RAID 1 обьгано ограничивают хранением загрузочных разделов, системного программного
|
|||
|
|||
|
||
280 Глава 5. Память
|
||
|
||
обеспечения и данных, а также других особенно критичных файлов: RAID 1 обеспечивает резервное копирование всех данных, так что в случае отказа диска критическая информация доступна практически немедленно.
RAID уровня 2
В системах RAID 2 используется техника параллельного доступа, где в выполнении каждого запроса на В/ВЫВ одновременно участвуют все диски. Обычно шпиндели всех дисков синхронизированы так, что головки каждого ЗУ в каждый момент времени находятся в одинаковых позициях. Данные разбиваются на полосы длиной в 1 бит и распределены по дискам массива таким образом, что полное машинное слово представляется поясом, то есть число дисков равно длине машинного слова в битах. Для каждого слова вычисляется корректирующий код (обычно это код Хэмминга, способный корректировать одиночные и обнаруживать двойные ошибки), который, также побитово, хранится на дополнительных дисках (рис. 5.41). Например, для массива, ориентированного на 32-разрядные слова (32 основных диска) требуется семь дополнительных дисковых ЗУ (корректирующий код состоит из 7 разрядов).
При записи вычисляется корректирующий код, который заносится на отведенные для него диски. При каждом чтении производится доступ ко всем дискам мае-, сива, включая дополнительные. Считанные данные вместе с корректирующим кодом подаются на контроллер дискового массива, где происходит повторное вычисление корректирующего кода и его сравнение с хранившимся на избыточных дисках. Если присутствует одиночная ошибка, контроллер способен ее мгновенно распознать и исправить, так что время считывания не увеличивается.
RAID 2 позволяет достичь высокой скорости В/ВЫВ при работе с большими последовательными записями, но становится неэффективным при обслуживании записей небольшой длины. Основное преимущество RAID 2 состоит в высокой степени защиты информации, однако предлагаемый в этой схеме метод коррекции уже встроен в каждое из современных дисковых ЗУ.
|
||
|
||
|
||
|
||
Рис. 5.41. RAID уровня 2
в сс^всюзштеметжстзвяшасвжяшшиюВстния кажжинжнЕпшьживаиие тажшия
|
||
|
||
Внешняя память 281
|
||
|
||
ких избыточных дисков представляется неэффективным, и массивы уровня RAID 2 в настоящее время не производятся.
RAID уровня 3
RAID 3 организован сходно с RAID2. Отличие в том, что RAID 3 требует только одного дрполнительного диска — диска паритета, вне зависимости от того, насколько велик массив дисков (рис. 5.42). В RAID 3 используется параллельный доступ к данным, разбитым на полосы длиной в бит или байт. Все диски массива синхронизированы. Вместо кода Хэмминга для набора полос идентичной позиции на всех дисках массива (пояса) вычисляется полоса, состоящая из битов паритета. В случае отказа дискового ЗУ производится обращение к диску паритета, и данные восстанавливаются по битам паритета и данным от остальных дисков массива.
|
||
|
||
|
||
|
||
Так как данные разбиты на очень маленькие полосы, RAID 3 позволяет достигать очень высоких скоростей передачи данных. Каждый запрос на ввод/вывод приводит к параллельной передаче данных со всех дисков. Для приложений, связанных с большими пересылками данных, это обстоятельство очень существенно. С другой стороны, параллельное обслуживание одиночных запросов невозможно, и производительность дисковой подсистемы в этом случае падает.
Ввиду того что для хранения избыточной информации нужен всего один диск, причем независимо от их числа в массиве, именно уровню RAID 3 отдается предпочтение перед RAID 2.
RAID уровня 4
По своей идее и технике формирования избыточной информации RAID 4 идентичен RAID 3, только размер полос в RAID 4 значительно больше (обьгано один-два физических блока на диске). Главное отличие состоит в том, что в RAID 4 используется техника независимого доступа, когда каждое ЗУ массива в состоянии функ-шонировать независимо, так, что отдельные запросы на ввод/вывод могут удовлетворяться параллельно (рис. 5.43).
|
||
|
||
|
||
28 2 Глава 5. Память
|
||
|
||
|
||
|
||
Рис. 5.43. RAID уровня 4
|
||
|
||
Для RAID 4 характерны издержки, обусловленные независимостью дисков. Если в RAID 3 запись производилась одновременно для всех полос одного пояса, в RAID 4 осуществляется запись полос в разные пояса. Это различие ощущается особенно при записи данных малого размера.
Каждый раз для выполнения записи программное обеспечение дискового массива должно обновить не только данные пользователя, но и соответствующие биты паритета. Рассмотрим массив из пяти дисковых ЗУ, где ЗУ ХО... ХЗ содержат данные, аХ4 — диск паритета. Положим, что производится запись, охватывающая только полосу на диске XI. Первоначально для каждого бита i мы имеем следующее соотношение:
Х4(-ХЗ,ФЖ2,Ф,И(Ф-Х0*
После обновления для потенциально измененных битов, обозначаемых с помощью апострофа, получаем:
ха;-хъ,фх2,фх\;фщ-
- ХЪ, Ф Х2, Ф ΛΊ/ Ф ХО, Ф Xlt Ф Х\, -
-ΧΑ,θΧί^χι;. i
Для вычисления новой полосы паритета программное обеспечение управления массивом должно прочитать старую полосу пользователя и старую полосу паритета. Затем оно может заменить эти две полосы новой полосой данных и новой вычисленной полосой паритета. Таким образом, запись каждой полосы связана с двумя операциями чтения и двумя операциями записи.
В случае записи большого объема информации, охватывающего полосы на всех дисках, паритет вычисляется достаточно легко путем расчета, в котором участвуют только новые биты данных, то есть содержимое диска паритета может быть об -новлено параллельно с дисками данных и не требует дополнительных операций чтения и записи. '.
|
||
|
||
|
||
Внешняя память 2 8 3
|
||
|
||
Массивы RAID 4 наиболее подходят для приложений, требующих поддержки высокого темпа поступления запросов ввода/вывода, и уступает RAID 3 там, где приоритетен большой объем пересылок данных.
RAID уровня 5
RAID 5 имеет структуру, напоминающую RAID 4. Различие заключается в том, что RAID 5 не содержит отдельного диска для хранения полос паритета, а разносит их по всем дискам. Типичное распределение осуществляется по циклической схеме, как это показано на рис. 5.44. В и-дисковом массиве полоса паритета вычисляется для полос п-1 дисков, расположенных в одном поясе, и хранится в том же поясе, но на диске, который не учитывался при вычислении паритета. При переходе от одного пояса к другому эта схема циклически повторяется.
|
||
|
||
|
||
|
||
Распределение полос паритета по всем дискам предотвращает возникновение , проблемы, упоминавшейся для RAID 4.
RAID уровня 6
RAID 6 очень похож на RAID 5. Данные также разбиваются на полосы размером ,в блок и распределяются по всем дискам массива. Аналогично, полосы паритета распределены по разным дискам. Доступ к полосам независимый и асинхронный. .Различие состоит в том, что на каждом диске хранится не одна, а две полосы пари-гтета. Первая из них, как и в RAID 5, содержит контрольную информацию для полос, расположенных на горизонтальном срезе массива (за исключением диска, где . эта полоса паритета хранится). В дополнение формируется и записывается вторая полоса паритета, контролирующая все полосы какого-то одного диска массива (вертикальный срез массива), но только не того, где хранится полоса паритета. Ска-.занное иллюстрируется рис. 5.45.
|
||
|
||
|
||
284 Глава 5. Память
|
||
|
||
|
||
|
||
Такая схема массива позволяет восстановить информацию при отказе сразу двух дисков. С другой стороны, увеличивается время на вычисление и запись паритетной информации и требуется дополнительное дисковое пространство. Кроме того, реализация данной схемы связана с усложнением контроллера дискового массива. В силу этих причин схема среди выпускаемых RAID-систем встречается крайне редко.
|
||
|
||
|
||
|
||
RAID уровня 7
Схема RAID 7, запатентованная Storage Computer Corporation, объединяет массив асинхронно работающих дисков и кэш-память, управляемые встроенной в кон-
|
||
|
||
|
||
Внешняя память 285
|
||
|
||
троллер массива операционной системой реального времени (рис. 5.46). Данные разбиты на полосы размером в блок и распределены по дискам массива. Полосы паритета хранятся на специально выделенных для этой цели одном или нескольких дисках.
Схема некритична к виду решаемых задач и при работе с большими файлами не уступает по производительности RAID 3. Вместе с тем RAID 7 может так же эффективно, как и RAID 5, производить одновременно несколько операций чтения и записи для небольших объемов данных. Все это обеспечивается использованием кэш-памяти и собственной операционной системой.
RAID уровня 10
Данная схема совпадает с RAID 0, но в отличие от нее роль отдельных дисков выполняют дисковые массивы, построенные по схеме RAID 1 (рис. 5.47).
Таким образом, в RAID 10 сочетаются расслоение и дублирование. Это позволяет добиться высокой производительности, характерной для RAID 0 при уровне отказоустойчивости RAID 1. Основной недостаток схемы — высокая стоимость ее реализации. Кроме того, необходимость синхронизации всех дисков приводит к усложнению контроллера.
|
||
|
||
|
||
|
||
RAID уровня 53
В этом уровне сочетаются технологии RAID 0 и RAID 3, поэтому его правильнее было бы назвать RAID 30. В целом данная схема соответствует RAID 0, где роль отдельных дисков выполняют дисковые массивы, организованные по схеме RAID 3, Естественно, что в RAID 53 сочетаются все достоинства RAID 0 и RAID 3. Недостатки схемы такие же, что и у RAID 10.
Особенности реализации RAID-систем
Массивы RAID могут быть реализованы программно, аппаратно или как комбинация программных и аппаратных средств.
;:■ При программной реализации используются обычные дисководе контроллеры и стандартные команды ввода/вывода. Работа дисковых ЗУ в соответствии с алгоритмами различных уровней RAID обеспечивается программами операционной
|
||
|
||
|
||
286 Глава 5. Память
|
||
|
||
системы ВМ. Программный режим RAID предусмотрен, например, в Windows NT. Это дает возможность программного изменения уровня RAID, в зависимости от особенностей решаемой задачи. Хотя программный способ является наиболее дешевым, он не позволяет добиться высокого уровня производительности, характерного для аппаратурной реализации RAID.
Аппаратурная реализация RAID предполагает возложение всех или большей части функций по управлению массивом дисковых ЗУ на соответствующее оборудование, при этом возможны два подхода. Первый из них заключается в замене стандартных контроллеров дисковых ЗУ на специализированные, устанавливаемые наместо стандартных. Базовая ВМ общается с контроллерами на уровне обычных команд ввода/вывода, а режим RAID обеспечивают контроллеры. Как и обычные, специализированные контроллеры/адаптеры ориентированы на определенный ввд шины. Поскольку наиболее распространенной шиной для подключения дисковых ЗУ в настоящее время является шина SCSI, большинство производителей RAID-систем ориентируют свои изделия на протокол SCSI, определяемый стандартами ANSI Х3.131 и ISO/IEC. При втором способе аппаратной реализации RAID-система выполняется как автономное устройство, объединяющее в одном корпусе массив дисков и контроллер. Контроллер содержит микропроцессор и работает под управлением собственной операционной системы, полностью реализующей различные RAID-режимы. Такая подсистема подключается к шине базовой ВМ или к ее каналу ввода/вывода как обычное дисковое ЗУ.
При аппаратной реализации RAID-систем обычно предусматривается возможность замены неисправных дисков без потери информации и без остановки работы. Кроме того, многие из таких систем позволяют разбивать отдельные диски на разделы, причем разные разделы дисков могут объединяться в соответствии с различными уровнями RAID.
Оптическая память
В 1983 году была представлена первая цифровая аудиосистема на базе компакт-дисков (CD — compact disk). Компакт-диск — это односторонний диск, способный хранить более чем 60-минутную аудиоинформацию. Громадный коммерческий успех CD способствовал развитию технологии дешевых оптических запоминающих устройств для ВМ. За последующие годы были созданы различные системы памяти на оптических дисках, три из которых в прогрессирующей степени приживаются в вычислительных машинах: CD-ROM, WARM и стираемые оптические диски.
CD-ROM
Для аудио компакт-дисков и CD-ROM используется идентичная технология. Основное отличие состоит в том, что проигрыватели CD-ROM более прочные и содержат устройства для исправления ошибок, обеспечивающие корректность передачи данных с диска в ВМ. Диск изготавливается из пластмассы, например поликарбоната, и покрыт окрашенным слоем с высокой отражающей способностью", обычно алюминием. Цифровая, информация заносится в виде микроскопических углублений в отражающей поверхности. Запись информации производится с помощью сильно сфокусированного луча лазера высокой интенсивности. Так созда- ·
|
||
|
||
|
||
Внешняя память 2 8 7
|
||
|
||
ется так называемый мастер-диск, с которого затем печатаются копии. Углубления на копии защищаются от пыли и повреждений путем покрытия поверхности диска прозрачным лаком.
Информация с диска считывается маломощным лазером, расположенным в проигрывателе. Лазер освещает поверхность вращающегося диска сквозь прозрачное покрытие. Интенсивность отраженного луча лазера меняется, когда он попадает в углубление на диске. Эти изменения фиксируются фотодетектором и преобразуются в цифровой сигнал.
Углубления, расположенные ближе к центру диска, перемещаются относительно луча лазера медленнее, чем более удаленные. Из-за этого необходимы меры для компенсации различий в скорости так, чтобы лазер мог считывать информацию с постоянной скоростью.
Одно из возможных решений аналогично применяемому в магнитных дисках — увеличение расстояния между битами информации, в зависимости от ее расположения на диске. В этом случае диск может вращаться с неизменной скоростью и, соответственно, такие дисковые ЗУ известны как устройства с постоянной угловой скоростью (CAV, Constant Angular Velocity). Ввиду нерационального использования внешней части диска метод постоянной угловой скорости в CD-ROM не поддерживается. Вместо этого информация по диску размещается в секторах одинакового размера, которые сканируются с постоянной скоростью за счет того, что диск вращается с переменной скоростью. В результате углубления считываются лазером с постоянной линейной скоростью (CLV, Constant Linear Velocity). При доступе к информации у внешнего края диска скорость вращения меньше и возрастает при приближении к оси. Емкость дорожки и задержки вращения возрастают по мере смещения от центра к внешнему краю диска.
Выпускаются CD различной емкости. В типовом варианте расстояние между дорожками составляет 1,6 мк, что, с учетом промежутков между дорожками, позволяет обеспечить 20 344 дорожки. Фактически же, вместо множества концентрических дорожек, имеется одна дорожка в виде спирали, длина которой равна 5,27 км. Постоянная линейная скорость CD-ROM — 1,2 м/с, то есть для «прохождения» спирали требуется 4391 с или 73,2 мин. Именно эта величина составляет стандартное максимальное время проигрывания аудиодиска1. Так как данные считываются с диска со скоростью 176,4 Кбайт/с, емкость CD равна 774,57 Мбайт.
Данные на CD-ROM организованы как последовательность блоков. Типичный формат блока показан на рис. 5.48. Блок включает в себя следующие поля:
• Синхронизация. Это поле идентифицирует начало блока и состоит из нулевого байта, десяти байтов, содержащих только единичные разряды, и вновь байта из всех нулей.
|
||
|
||
Строго определенная емкость компакт-дисков связана с интересной историей. Исполнительный директор фирмы Sony Акио Морита решил, что компакт-диски должны отвечать запросам исключительно любителей классической музыки, не более и не менее. После того как группа разработчиков провела опрос, выяснилось, что самым популярным классическим произведением в Японии в те времена была 9-я симфония Бетховена, которая длилась 72-73 минуты. Поэтому было решено, что компакт-диск должен быть рассчитан именно на 74 минуты звучания, а точнее на 74 мин и 33 с (стандарт, известный как «Красная Книга» — Red Book). Когда минуты пересчитали в килобайты, получилось 640 Мбайт. — Примеч. лит. ред.
|
||
|
||
|
||
288 Глава 5. Память
|
||
|
||
|
||
|
||
Идентификатор. Заголовок, содержащий адрес блока и байт режима. Режим О определяет пустое поле данных; режим 1 отвечает за использование кода, корректирующего ошибки, и наличие 2048 байт данных; режим 2 определяет наличие 2336 байт данных и отсутствие корректирующего кода.
Данные. Данные пользователя.
Корректирующий код (КК). Поле предназначено для хранения дополнительных данных пользователя в режиме 2, а в режиме 1 содержит 288 байт кода с исправлением ошибок.
|
||
|
||
|
||
|
||
|
||
Внеиняя память 2 89
|
||
|
||
Рисунок 5.49 иллюстрирует организацию информации на CD-ROM. Как уже отмечалось, данные расположены последовательно по спиралевидной дорожке. Для варианта с постоянной линейной скоростью произвольный доступ к информации становится более сложным.
В последнее время наметился переход к новому типу оптических дисков, так называемым DVD-дискам (Digital Video Data). DVD-диски состоят из двух слоев толщиной 0,6 мм, то есть имеют две рабочих поверхности, и обеспечивают хранение по 4,7 Гбайт на каждой. В DVD-технологии используется лазер с меньшей длиной волны (650 нм против 780 нм для стандартных CD-ROM), атакже более изощренная схема коррекции. Все это позволяет увеличить число дорожек и повысить плотность записи. Кроме того, при записи применяется метод сжатия информации, известный как MPEG2.
WORM
Технология дисков WORM — дисков с однократной записью и многократным считыванием, была разработана для мелкосерийного производства оптических дисков. Такие диски предполагают ввод информации лучом относительно мощного лазера. При этом пользователь с помощью несколько более дорогого, чем CD-ROM, устройства может единожды записать информацию, а затем многократно ее считывать. Для обеспечения более быстрого доступа в устройстве поддерживается метод постоянной угловой скорости при относительном снижении емкости.
Типовая техника подготовки такого диска предполагает мощный лазер для создания на поверхности диска последовательности пузырьков. Для записи информации предварительно отформатированный пузырьками диск помещается в накопитель WORM, где имеется маломощной лазер, тепла от которого тем не менее достаточно для того, чтобы «взорвать» пузырек. В процессе операции считывания лазер в накопителе WORM освещает поверхность диска. Так как «взорванный» пузырек создает более высокий контраст, чем окружающая поверхность, его легко распознать с помощью простой электроники. Данный тип носителя привлекателен для архивного хранения документов и файлов.
EOD — оптические диски со стиранием
Среди многих рассматривавшихся технологий оптических дисков с возможностью многократной записи и перезаписи информации коммерчески приемлемой оказалась только магнитооптическая. В таких системах энергия лазерного луча используется совместно с магнитным полем. Запись и стирание информации происходят за счет реверсирования магнитных полюсов маленьких областей диска, покрытого магнитным материалом. Лазерный луч нагревает облучаемое пятно на поверхности, и в этот момент магнитное поле может изменить ориентацию магнитных полюсов на облучаемом участке. Поскольку процесс поляризации не вызывает физических изменений на диске, ему не страшны многократные повторения. При чтении направление магнитного поля можно определить по поляризации лазерного луча. Поляризованный свет, отраженный от определенного пятна, изменяет свой угол отражения в зависимости от характера намагниченности.
|
||
|
||
{
|
||
|
||
|
||
290 Глава5. Память
|
||
|
||
Магнитные ленты
ЗУ на базе магнитных лент используются в основном для архивирования информации. Носителем служит тонкая полистироловая лента шириной от 0,38-2,54 см и толщиной около 0,025 мм, покрытая магнитным слоем. Лента наматывается на бобины различного диаметра. Данные записываются последовательно, байт за байтом, от начала ленты до ее конца. Время доступа к информации на магнитной ленте значительно больше, чем у ранее рассмотренных видов внешней памяти.
Обычно вдоль ленты располагается 9 дорожек, что позволяет записывать поперек ленты байт данных и бит паритета. Информация на ленте группируется в блоки — записи. Каждая запись отделяется от соседней межблочным промежутком, дающим возможность позиционирования головки считывания/записи на начало любого блока. Идентификация записи производится по полю заголовка, содержащемуся в каждой записи. Для указания начала и конца ленты используются физические маркеры в виде металлизированных полосок, наклеиваемыхна магнитную ленту, или прозрачных участков на самой ленте. Известны также варианты маркирования начала и конца ленты путем записи на нее специальных кодов-индикаторов.
В универсальных ВМ обычно применяются бобинные устройства с вакуумными системами стабилизации скорости перемещения ленты. В них скорость перемещения ленты составляет около 300 см/с, плотность записи — 4 Кбайт/см, а скорость передачи информации — 320 Кбайт/с. Типовая бобина содержит 730 м магнитной ленты.
В ЗУ на базе картриджей используются кассеты с двумя катушками, аналогичные стандартным аудиокассетам. Типовая ширина ленты — 8 мм. Наиболее распространенной формой таких ЗУ является DAT (Digital Audio Таре). Данные на ленту заносятся по диагонали, как это принято в видеокассетах. По размеру такой картридж примерно вдвое меньше, чем обычная компакт-кассета, и имеет толщину 3,81 мм. Каждый картридж позволяет хранить несколько гигабайтов данных. Время доступа к данным невелико (среднее между временами доступа к дискетам и к жестким дискам). Скорость передачи информации выше, чему дискет, но ниже, чем у жестких дисков.
Вторым видом ЗУ на базе картриджей является устройство стандарта DDS (Digital Data Storage). Этот стандарт был разработан в 1989 году для удовлетворения требований к резервному копированию информации с жестких дисков в мощных серверах и многопользовательских системах. В сущности, это вариант DAT, обеспечивающий хранение 2 Гбайт данных при длине ленты 90 м. В более позднем варианте стандарта DDS-DC (Digital Data Storage — Data Compression) за счет применения методов сжатия информации емкость ленты увеличена до 8 Гбайт. Наконец, третий вид ЗУ на базе картриджей также предназначен для резервного копирования содержимого жестких дисков, но при меньших объемах такой информации. Этот тип ЗУ отвечает стандарту QIC (Quarter Inch Cartridge tape) и более известен под названием стример. Известны стримеры, обеспечивающие хранение от 15 до 525 Мбайт информации. В зависимости от информационной емкости и фирмы-изготовителя изменяются и характеристики таких картриджей. Так, число дорожек может варьироваться в диапазоне от 4 до 28, длина ленты — от 36 до 300 м и т. д.
|
||
|
||