Введение

Хранение цифровых данных, читаемых компьютерами

Хранение компьютерных данных или цифровое хранение данных — это технология, состоящая из компьютерных компонентов и носителей информации, используемых для сохранения цифровых данных. Это основная функция и фундаментальный компонент компьютеров. Центральный процессор (ЦП) компьютера обрабатывает данные, выполняя вычисления. На практике почти все компьютеры используют иерархию хранения.

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

Вторичное хранение

Вторичное хранилище (также известное как внешняя память или вспомогательная память) отличается от первичного хранилища тем, что к нему процессор не имеет прямого доступа. Компьютер обычно использует каналы ввода-вывода для доступа к вторичному хранилищу и передачи необходимых данных в первичную память. Вторичное хранилище является энергонезависимым (сохраняет данные при отключении питания). Современные компьютерные системы обычно располагают вторичным хранилищем, объём которого на два порядка больше, чем объём первичного, поскольку вторичное хранилище дешевле. В современных компьютерах в качестве вторичного хранилища обычно используются жесткие диски (HDD) или твердотельные накопители (SSD). Время доступа к одному байту для HDD или SSD обычно измеряется в миллисекундах (тысячных долях секунды), в то время как время доступа к одному байту для первичного хранилища измеряется в наносекундах (миллиардных долях секунды). Таким образом, вторичное хранилище значительно медленнее первичного. Устройства вращающегося оптического хранения, такие как CD и DVD-приводы, имеют ещё большее время доступа. Другие примеры технологий вторичного хранения включают USB-накопители, дискеты, магнитную ленту, перфоленту, перфокарты и диски RAM. После того как головка чтения/записи жесткого диска достигает нужного положения и данных, последующие данные на дорожке становятся доступными очень быстро. Для уменьшения времени поиска и задержки вращения данные передаются на диски и с дисков большими непрерывными блоками. Последовательный или блочный доступ к дискам на порядок быстрее, чем произвольный доступ, и было разработано множество сложных подходов для создания эффективных алгоритмов, основанных на последовательном и блочном доступе. Другой способ уменьшить узкое место ввода-вывода – использовать несколько дисков параллельно для увеличения пропускной способности между первичной и вторичной памятью. Вторичное хранилище часто форматируется в соответствии с форматом файловой системы, которая обеспечивает необходимую абстракцию для организации данных в файлы и каталоги, а также предоставляет метаданные, описывающие владельца файла, время доступа, права доступа и другую информацию. Большинство компьютерных операционных систем используют концепцию виртуальной памяти, позволяющую использовать больше емкости первичной памяти, чем физически доступно в системе. По мере заполнения первичной памяти система перемещает наименее используемые фрагменты (страницы) в файл подкачки или файл страниц на вторичном хранилище, извлекая их позже при необходимости. Если большое количество страниц перемещается на более медленное вторичное хранилище, производительность системы снижается.

Третичное хранение

Третичное хранилище или третичная память – это уровень ниже вторичного хранилища. Обычно оно включает в себя роботизированный механизм, который монтирует (вставляет) и демонтирует сменные носители большой емкости в устройство хранения в соответствии с требованиями системы; такие данные часто копируются на вторичное хранилище перед использованием. Оно в основном используется для архивирования редко используемой информации, поскольку значительно медленнее вторичного хранилища (например, 5–60 секунд против 1–10 миллисекунд). Это особенно полезно для чрезвычайно больших объемов данных, к которым осуществляется доступ без участия операторов. Типичными примерами являются ленточные библиотеки и оптические джукбоксы. Когда компьютеру необходимо прочитать информацию из третичного хранилища, он сначала обращается к каталожной базе данных, чтобы определить, на какой ленте или диске находится информация. Затем компьютер инструктирует роботизированную руку извлечь носитель и поместить его в привод. После завершения чтения информации роботизированная рука возвращает носитель на место в библиотеке. Третичное хранилище также известно как nearline-хранилище, поскольку оно "близко к онлайн". Формальное различие между онлайн-, nearline- и оффлайн-хранилищами заключается в следующем:

Онлайн-хранилище немедленно доступно для ввода/вывода. Nearline-хранилище не доступно немедленно, но может быть переведено в онлайн-режим быстро, без вмешательства человека. Оффлайн-хранилище не доступно немедленно и требует вмешательства человека для перевода в онлайн-режим. Например, постоянно вращающиеся жесткие диски являются онлайн-хранилищем, а диски, которые автоматически останавливаются, например, в массивах неактивных дисков (MAID), – nearline-хранилищем. Сменные носители, такие как кассеты, которые могут быть автоматически загружены, как в ленточных библиотеках, – nearline-хранилище, а кассеты, которые необходимо загружать вручную, – оффлайн-хранилище.

Оффлайн-хранилище

Оффлайн-хранилище – это компьютерное хранение данных на носителе или устройстве, не находящемся под управлением процессора. Данные записываются, как правило, на вторичное или третичное устройство хранения, а затем носитель физически извлекается или отключается. Для повторного доступа к данным компьютер должен быть подключен к носителю оператором. В отличие от третичного хранения, доступ к оффлайн-хранилищу невозможен без участия человека. Оффлайн-хранилище используется для переноса информации, поскольку отсоединенный носитель можно легко физически транспортировать. Кроме того, оно полезно в случае аварий, когда, например, пожар уничтожает исходные данные, а носитель, хранящийся в удаленном месте, остается неповрежденным, обеспечивая возможность восстановления после катастрофы. Оффлайн-хранилище повышает общую информационную безопасность, поскольку оно физически недоступно для компьютера, и конфиденциальность или целостность данных не могут быть скомпрометированы с помощью компьютерных атак. Также, если информация, хранящаяся в архивных целях, используется редко, оффлайн-хранилище обходится дешевле, чем третичное. В современных персональных компьютерах большинство вторичных и третичных носителей информации также используются для оффлайн-хранения. Наиболее распространены оптические диски и устройства флэш-памяти, в меньшей степени – съемные жесткие диски; к более ранним примерам относятся дискеты и диски Zip. В корпоративной среде преобладают картриджи с магнитной лентой; к более ранним примерам относятся открытая магнитная лента и перфокарты.

Характеристики хранения

Технологии хранения на всех уровнях иерархии хранения могут быть дифференцированы путем оценки определенных основных характеристик, а также измерения характеристик, специфичных для конкретной реализации. Эти основные характеристики – волатильность, изменяемость, доступность и адресуемость. Для любой конкретной реализации любой технологии хранения характеристики, которые стоит измерить, – это емкость и производительность. + Обзор Характеристика Жесткий диск Оптический диск Флэш-память Оперативная память Линейная магнитная лента Технология Магнитный диск Лазерный луч Полупроводниковая Магнитная лента Волатильность Нет Нет Нет Волатильная Нет Случайный доступ Да Да Да Нет Задержка (время доступа) ~15 мс (быстро) ~150 мс (умеренно) Отсутствует (мгновенно) Отсутствует (мгновенно) Отсутствие случайного доступа (очень медленно) Контроллер Внутренний Внешний Внутренний Внутренний Внешний Отказ с неминуемой потерей данных Выход из строя головки – Схема – Обнаружение ошибок Диагностика (S.M.A.R.T.) Измерение частоты ошибок Указывается снижением скорости передачи данных (краткосрочное хранение) Неизвестно Цена за гигабайт Низкая Низкая Высокая Очень высокая Очень низкая (но дорогие накопители) Цена за единицу Умеренная Низкая Умеренная Высокая Умеренная (но дорогие накопители) Основное применение Среднесрочное архивирование, регулярное резервное копирование, расширение хранилища серверов и рабочих станций Долгосрочное архивирование, распространение копий Портативная электроника; операционная система Работа в реальном времени Долгосрочное архивирование

Волатильность

Нелетучая память сохраняет информацию даже при отключении электропитания. Она подходит для долговременного хранения данных. Летучая память требует постоянного электропитания для сохранения информации. Самые быстрые технологии памяти – летучие, хотя это и не всегда так. Поскольку первичная память должна быть очень быстрой, в ней преимущественно используется летучая память. Динамическая память с произвольным доступом (DRAM) – это тип летучей памяти, который также требует периодического считывания и перезаписи хранимой информации, или обновления, иначе она будет потеряна. Статическая память с произвольным доступом (SRAM) – это тип летучей памяти, аналогичный DRAM, за исключением того, что она не требует обновления, пока подается питание; она теряет содержимое при отключении питания. Источник бесперебойного питания (ИБП) может обеспечить компьютеру короткий промежуток времени для переноса информации из первичной летучей памяти в нелетучую память до разряда батарей. Некоторые системы, например EMC Symmetrix, имеют встроенные батареи, которые поддерживают работу летучей памяти в течение нескольких минут.

Мутабельность

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

Хранилище с медленной записью и быстрым чтением – хранилище с возможностью чтения/записи, позволяющее многократно перезаписывать информацию, но при этом операция записи значительно медленнее операции чтения. Примеры включают CD-RW и SSD.

Хранилище для однократной записи – технология "запись один раз – чтение много" (WORM) позволяет записать информацию только один раз после изготовления. Примеры включают программируемую постоянную память (ПЗУ) и CD-R.

Хранилище только для чтения – сохраняет информацию, записанную на этапе производства. Примеры включают маскированные ПЗУ и CD-ROM.

Доступность

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

Адресованность

Адресация по местоположению: Каждая отдельно доступная единица информации в памяти выбирается по её числовому адресу. В современных компьютерах адресная организация памяти обычно ограничивается первичной памятью, к которой обращаются внутренние компьютерные программы, поскольку она очень эффективна, но неудобна для человека. Адресация по файлам: Информация разделяется на файлы переменной длины, а конкретный файл выбирается по удобочитаемым для человека именам каталогов и файлов. Базовое устройство по-прежнему адресуется по местоположению, но операционная система компьютера предоставляет абстракцию файловой системы, чтобы сделать операцию более понятной. В современных компьютерах файловые системы используются для вторичной, третичной и автономной памяти. Адресация по содержимому: Каждая отдельно доступная единица информации выбирается на основе её содержимого (или части содержимого). Адресация по содержимому может быть реализована с помощью программного обеспечения (компьютерной программы) или аппаратного обеспечения (компьютерного устройства), причем аппаратная реализация быстрее, но дороже. Аппаратная память с адресацией по содержимому часто используется в кэше центрального процессора компьютера.

Пропускная способность

Общая емкость – общее количество информации, которое может хранить устройство или носитель информации. Измеряется в битах или байтах (например, 10,4 мегабайта). Плотность хранения – степень компактности хранения информации, определяемая как емкость носителя, деленная на единицу длины, площади или объема (например, 1,2 мегабайта на квадратный дюйм).

Выступление

Задержка – время, необходимое для доступа к определенному месту в хранилище. Обычно измеряется в наносекундах для первичного хранилища, миллисекундах для вторичного и секундах для третичного. Может быть полезно разделять задержку чтения и задержку записи (особенно для энергонезависимой памяти), а также учитывать минимальную, максимальную и среднюю задержку при последовательном доступе к данным. Пропускная способность – скорость чтения или записи информации в хранилище. В компьютерном хранении данных обычно выражается в мегабайтах в секунду (МБ/с), хотя также может использоваться битрейт. Как и в случае с задержкой, может потребоваться раздельное измерение скорости чтения и скорости записи. Последовательный доступ к данным, в отличие от произвольного, обычно обеспечивает максимальную пропускную способность. Гранулярность – размер наибольшего блока данных, к которому можно эффективно получить доступ как к единому целому, например, без увеличения задержки. Надежность – вероятность спонтанного изменения значения бита при различных условиях или общий уровень отказов. Для измерения производительности ввода-вывода в Linux можно использовать такие утилиты, как hdparm и sar.

Энергопотребление

Хранилища, снижающие использование вентиляторов, автоматически отключаются при бездействии, а маломощные жесткие диски могут снизить энергопотребление на 90 процентов. 2,5-дюймовые жесткие диски часто потребляют меньше энергии, чем диски большего размера. Твердотельные накопители небольшой емкости не имеют движущихся частей и потребляют меньше энергии, чем жесткие диски. Большие кэш-памяти, используемые для предотвращения "узкого места" в производительности памяти, также могут потреблять значительное количество энергии.

Безопасность

Шифрование всего диска, шифрование томов и виртуальных дисков, а также шифрование отдельных файлов и папок широко доступны для большинства устройств хранения данных. Аппаратное шифрование памяти реализовано в архитектуре Intel с поддержкой полного шифрования памяти (TME) и гранулярного шифрования памяти с использованием нескольких ключей (MKTME), а также в процессорах SPARC M7, начиная с октября 2015 года.

Уязвимость и надежность

Различные типы хранения данных имеют различные точки отказа и разные методы предиктивного анализа отказов. Уязвимости, которые могут мгновенно привести к полной потере данных, – это столкновение головок на механических жестких дисках и выход из строя электронных компонентов в флэш-памяти.

Обнаружение ошибок

Ожидаемый отказ жестких дисков можно оценить, используя диагностические данные S.M.A.R.T., включающие часы работы и количество запусков, хотя достоверность такой оценки оспаривается. В накопителях на флэш-памяти может наблюдаться резкое снижение скорости передачи данных из-за накопления ошибок, которые контроллер флэш-памяти пытается исправить. О состоянии оптических носителей можно судить по количеству корректируемых незначительных ошибок: их большое количество указывает на ухудшение качества и/или износ носителя. Слишком большое количество последовательных незначительных ошибок может привести к повреждению данных. Не все производители и модели оптических приводов поддерживают проверку на наличие ошибок.

Сберегательные носители

По состоянию на 2011 год наиболее распространенными носителями для хранения данных были полупроводниковые, магнитные и оптические, при этом бумага все еще использовалась в ограниченном объеме. Для разработки предлагались и другие базовые технологии хранения, такие как полностью флэш-массивы (AFAs).

Полупроводники

Полупроводниковая память использует чипы интегральных схем (ИС) на основе полупроводников для хранения информации. Данные обычно хранятся в ячейках памяти металл-оксид-полупроводник (MOS). Чип полупроводниковой памяти может содержать миллионы ячеек памяти, состоящих из крошечных полевых транзисторов MOS (MOSFET) и/или конденсаторов MOS. Существуют как летучие, так и нелетучие формы полупроводниковой памяти, при этом первые используют стандартные MOSFET, а вторые – MOSFET с плавающим затвором. В современных компьютерах основная память почти исключительно состоит из динамической летучей полупроводниковой памяти с произвольным доступом (RAM), в частности динамической памяти с произвольным доступом (DRAM). С начала века тип нелетучей полупроводниковой памяти с плавающим затвором, известный как флэш-память, постепенно завоевывает долю рынка в качестве внешнего хранилища для домашних компьютеров. Нелетучая полупроводниковая память также используется для вторичного хранилища в различных современных электронных устройствах и специализированных компьютерах, для которых она предназначена. Уже в 2006 году производители ноутбуков и настольных компьютеров начали использовать твердотельные накопители (SSD) на основе флэш-памяти в качестве опций конфигурации по умолчанию для вторичного хранилища, либо в дополнение к, либо вместо более традиционных жестких дисков (HDD).

Бумага

Хранение данных на бумаге, обычно в виде бумажной ленты или перфокарт, давно использовалось для хранения информации для автоматизированной обработки, особенно до появления компьютеров общего назначения. Информация записывалась путем пробивания отверстий в бумажном или картонном носителе и считывалась механически (а позднее – оптически) для определения, является ли конкретная позиция на носителе заполненной или содержит отверстие. Штрих-коды позволяют надежно прикреплять к продаваемым или транспортируемым объектам информацию, читаемую компьютером. Относительно небольшие объемы цифровых данных (по сравнению с другими способами цифрового хранения) могут быть сохранены на бумаге в виде матричного штрих-кода для очень длительного хранения, поскольку срок службы бумаги обычно превышает даже срок службы магнитных носителей данных.

Другие носители или подложки для хранения

Вакуумная память. Трубка Уильямса использовала электронно-лучевую трубку, а трубка Селектрона – большую вакуумную лампу для хранения информации. Эти устройства первичной памяти были недолговечны на рынке, поскольку трубка Уильямса была ненадежной, а трубка Селектрона – дорогой. Электроакустическая память. Память на линиях задержки использовала звуковые волны в веществе, таком как ртуть, для хранения информации. Память на линиях задержки была динамической, энергозависимой, с последовательным цикличным чтением/записью и использовалась для первичной памяти. Оптическая лента – это носитель для оптического хранения, обычно представляющий собой длинную и узкую полоску пластика, на которую можно записывать и считывать шаблоны. Она использует некоторые технологии, применяемые в кинопленке и оптических дисках, но несовместима ни с одной из них. Мотивацией для разработки этой технологии была возможность значительно большей емкости хранения, чем у магнитной ленты или оптических дисков. Память с фазовым переходом использует различные механические фазы материала с изменяемым фазовым состоянием для хранения информации в X–Y адресуемой матрице и считывает информацию, определяя изменяющееся электрическое сопротивление материала. Память с фазовым переходом будет энергонезависимой, с произвольным доступом на чтение/запись и может использоваться для первичной, вторичной и внешней памяти. Большинство перезаписываемых и многие диски для однократной записи уже используют материал с фазовым переходом для хранения информации. Голографическое хранение данных хранит информацию оптически внутри кристаллов или фотополимеров. Голографическое хранение может использовать весь объем носителя, в отличие от оптического дискового хранения, которое ограничено небольшим количеством поверхностных слоев. Голографическое хранилище будет энергонезависимым, с последовательным доступом и возможностью однократной или многократной записи. Оно может использоваться для вторичной и внешней памяти. См. Голографический универсальный диск (HVD). Молекулярная память хранит информацию в полимерах, способных накапливать электрический заряд. Молекулярная память может быть особенно подходящей для первичной памяти. Теоретическая емкость хранения молекулярной памяти составляет 10 терабит на квадратный дюйм (16 Гбит/мм²). Магнитные фотопроводники хранят магнитную информацию, которую можно изменять при слабом освещении.

Избыточность

В то время как сбой группы битов может быть устранен с помощью механизмов обнаружения и исправления ошибок (см. выше), неисправность устройства хранения требует иных решений. Для большинства устройств хранения обычно используются следующие решения:

Зеркалирование устройства (репликация) – Распространенным решением является постоянное поддержание идентичной копии содержимого устройства на другом устройстве (обычно того же типа). Недостатком является удвоение объема хранилища, а также необходимость одновременного обновления обоих устройств (копий) с определенными накладными расходами и возможными задержками. Преимуществом является возможность одновременного чтения одних и тех же данных двумя независимыми процессами, что повышает производительность. При обнаружении неисправности одного из реплицированных устройств, другая копия остается работоспособной и используется для создания новой копии на другом устройстве (обычно доступном в резервном пуле устройств для этой цели).

Избыточный массив независимых дисков (RAID) – Этот метод обобщает зеркальное отображение, позволяя одному устройству в группе выйти из строя и быть замененным с восстановлением содержимого (зеркалирование – это RAID с n=2). Распространены группы RAID с n=5 или n=6. При n>2 достигается экономия места хранения по сравнению с n=2, но за счет увеличения вычислительной нагрузки как в обычном режиме работы (часто с пониженной производительностью), так и при замене неисправного устройства. Зеркалирование устройства и типичные реализации RAID предназначены для обработки отказа одного устройства в группе RAID. Однако, если второй отказ произойдет до полного восстановления группы RAID после первого отказа, данные могут быть потеряны. Вероятность одиночного отказа обычно невелика, поэтому вероятность двух отказов в одной группе RAID в короткий промежуток времени значительно меньше (приблизительно равна квадрату вероятности одиночного отказа, то есть вероятности, умноженной на себя). Если база данных не допускает даже такой малой вероятности потери данных, то реплицируется (зеркалируется) сама группа RAID. Во многих случаях такое зеркальное отображение выполняется географически удаленно, в другом массиве хранения, для обеспечения восстановления после катастроф (см. раздел о восстановлении после катастроф выше).

Сетевое подключение

Вторичное или третичное хранилище может подключаться к компьютеру посредством компьютерных сетей. Эта концепция не относится к первичному хранилищу, которое используется несколькими процессорами в меньшей степени. Прямое подключение хранилища (DAS) – это традиционное массовое хранилище, не использующее сетевое подключение. Это до сих пор наиболее распространенный подход. Этот ретроним был придуман относительно недавно, вместе с NAS и SAN. Сетевое хранилище (NAS) – это массовое хранилище, подключенное к компьютеру, к которому другой компьютер может получить доступ на уровне файлов через локальную сеть, частную глобальную сеть или, в случае онлайн-хранения файлов, через Интернет. NAS обычно ассоциируется с протоколами NFS и CIFS/SMB. Сеть хранения данных (SAN) – это специализированная сеть, предоставляющая другим компьютерам емкость для хранения. Ключевое отличие между NAS и SAN заключается в том, что NAS предоставляет и управляет файловыми системами для клиентских компьютеров, в то время как SAN обеспечивает доступ на уровне блочной адресации (сырого устройства), оставляя подключенным системам управление данными или файловыми системами в пределах предоставленной емкости. SAN обычно ассоциируется с сетями Fibre Channel.

Робото-хранилище

Большое количество отдельных магнитных лент, а также оптических или магнитооптических дисков может храниться в роботизированных устройствах третичного хранения. В области хранения на магнитных лентах они известны как библиотеки магнитных лент, а в области оптического хранения – как оптические джукбоксы или библиотеки оптических дисков по аналогии. Наименьшие формы обеих технологий, содержащие только одно устройство чтения/записи, называются автозагрузчиками или автосменщиками. Устройства хранения с роботизированным доступом могут иметь множество слотов, каждый из которых предназначен для отдельного носителя, и обычно оснащаются одним или несколькими роботами-манипуляторами, перемещающимися по слотам и загружающими носители во встроенные устройства. Расположение слотов и манипуляторов влияет на производительность. Важными характеристиками такого хранения являются возможности расширения: добавление слотов, модулей, устройств чтения/записи, роботов. Библиотеки магнитных лент могут содержать от 10 до более чем 100 000 слотов и обеспечивать терабайты или петабайты информации в режиме близкого к сети доступа. Оптические джукбоксы представляют собой решения меньшего размера, до 1000 слотов. Роботизированное хранение используется для создания резервных копий и для архивирования больших объемов данных в сферах обработки изображений, медицины и видеопроизводства. Иерархическое управление хранением – наиболее известная стратегия архивирования, заключающаяся в автоматической миграции длительно неиспользуемых файлов из быстрого хранения на жестких дисках в библиотеки или джукбоксы. При необходимости файлы возвращаются на диск.