Внешняя память 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 м и т. д.
Hosted by uCoz