Хранение компьютерных данных


Хране́ние компью́терных да́нных (англ. computer data storage) — технология хранения цифровых данных постоянно или временно организованным образом; включает в себя компьютерные компоненты и электронные носители информации, которые используются для хранения цифровых данных, например, картриджи DDS, жёсткие диски, флеш-накопители, оптические диски и другие. Хранение компьютерных данных является основной функцией и фундаментальным компонентом компьютера[1]:стр.15—16.

undefined

Центральный процессор (ЦП) компьютера — устройство, которое обрабатывает данные, выполняя вычисления. На практике почти во всех компьютерах используется концепция иерархии памяти[1]:стр. 468—473, согласно которой быстрые/оперативные, но дорогие и небольшие варианты хранения располагаются близко к ЦП, а медленные, но менее дорогие и более объёмные варианты — дальше. Как правило, быстрые ​​технологии называются «памятью», более медленные постоянные технологии называются «хранением» или «хранилищем».

Большинство современных компьютеров используют энергозависимые технологии (в которых данные теряются при отключении электропитания); ранние компьютеры использовали как энергозависимые, так и постоянные/ энергонезависимые технологии.

Даже в первоначальных конструкциях компьютеров, таких как Аналитическая машина Чарльза Бэббиджа и аналитическая машина Перси Ладгейта, проводилось чёткое различие между обработкой данных и памятью (Бэббидж хранил числа в виде вращений шестерёнок, а Ладгейт — в виде смещений стержней в челноках). Это различие было расширено в архитектуре фон Неймана, где ЦП состоит из двух основных частей: блока управления и арифметико-логического устройства (АЛУ). Первый управляет потоком данных между центральным процессором и памятью, второй выполняет арифметические и логические операции с данными.

Функциональность

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

Компьютеры, работающие на принципах архитектуры фон Неймана, отличаются наличием памяти, в которой они хранят свои операционные инструкции и данные[1]:стр. 20. Такие компьютеры более универсальны, поскольку для них не нужно перенастраивать аппаратное обеспечение для каждой новой программы, а можно просто перепрограммировать с помощью новых инструкций, хранящихся в памяти. Кроме того, они, как правило, проще в проектировании, поскольку относительно простой процессор может сохранять состояние между последовательными вычислениями для получения сложных процедурных результатов. Большинство современных компьютеров являются машинами фон Неймана.

Организация и представление данных

Современный цифровой компьютер представляет данные с использованием двоичной системы счисления. Текст, числа, изображения, аудио и практически любая другая форма информации могут быть преобразованы в последовательность битов или двоичных цифр, каждая из которых имеет значение 0 или 1. Наиболее распространённой единицей хранения является байт, равный 8 битам. Фрагмент информации может обрабатываться любым компьютером или устройством, чьё пространство для хранения имеет величину, достаточную для того, чтобы разместить двоичное представление фрагмента информации или просто данных. Например, полное собрание сочинений Шекспира, около 1250 страниц в печатном виде, может быть сохранено примерно в пяти мегабайтах (40 миллионов бит) при условии, что на каждый символ выделяется один байт.

Данные кодируются путём назначения битового шаблона каждому символу, цифре или мультимедийному объекту. Существуют различные стандарты кодирования (например, кодировки символов, такие как ASCII, кодировки изображений, такие как JPEG, и кодировки видео, такие как MPEG-4).

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

Ошибки обычно возникают с низкой вероятностью из-за:

  • случайного изменения значения бита (например, из-за случайного излучения); обычно исправляется при обнаружении;
  • «физической усталости бита» (потери физическим битом в хранилище его способности поддерживать различимое значение [0 или 1]);
  • ошибок в межкомпьютерной или внутрикомпьютерной коммуникации.

Бит или группа неисправных физических битов (конкретный дефектный бит не всегда известен; определение группы зависит от конкретного устройства хранения) обычно автоматически исключаются, выводятся из эксплуатации устройством и заменяются другой функционирующей эквивалентной группой в устройстве, где исправленные значения битов восстанавливаются (если это возможно).

Метод циклического избыточного кода (CRC) обычно используется в коммуникациях и хранилищах для обнаружения ошибок. Затем обнаруженная ошибка проверяется.

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

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

Иерархия хранения

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

В современном использовании память обычно представляет собой быструю, но временную полупроводниковую память с произвольным доступом, как правило, это DRAM (динамическая оперативная память) или другие подобные устройства. Хранилище состоит из устройств хранения и их носителей, которые не доступны напрямую ЦП (вторичное или третичное хранилище), обычно это жёсткие диски, оптические дисководы и другие устройства, которые медленнее оперативной памяти, но являются энергонезависимыми (сохраняют содержимое при отключении питания).

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

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

Технологии хранения на всех уровнях иерархии хранения можно различать, оценивая определённые основные характеристики, а также измеряя характеристики, характерные для конкретной реализации. Эти основные характеристики включают в себя зависимость/независимость от источника электроэнергии, возможность изменения, доступность и адресуемость. Для любой конкретной реализации любой технологии хранения важными для измерения характеристиками являются ёмкость и производительность.

Сравнительный обзор
Характеристика Жёсткий диск Оптический диск Флэш-память Запоминающее устройство с произвольным доступом RAM LTO
Технология Магнитный диск Лазерный луч Полупроводник Магнитная лента
Зависимость/независимость от источника электроэнергии Нет Нет Нет Зависит Нет
Произвольный доступ Да Да Да Да Нет
Задержка (время доступа) ~15 мс (быстро) ~150 мс (умеренно) Нет (мгновенно) Нет (мгновенно) Отсутствие произвольного доступа (очень медленно)
Контроллер Внутренний Внешний Внутренний Внутренний Внешний
Сбой с неизбежной потерей данных Авария головки (англ. Head crash) Отказ электронных компонентов
Обнаружение ошибок Диагностика S.M.A.R.T. Сканирование поверхности диска на наличие ошибок и износа материала ещё до того, как данные станут нечитаемыми (англ. Surface error scanning) Выявляются по нисходящим всплескам в скорости передачи данных (Кратковременное хранение) Не известно
Стоимость места хранения Низкая Низкая Высокая Очень высокая Очень низкая (но дорогие дисководы)
Стоимость за единицу хранения Умеренная Низкая Умеренная Высокая Умеренная (но дорогие дисководы)
Основное применение Архивирование на среднесрочную перспективу, регулярное резервное копирование, расширение хранения на сервере и рабочих станциях Долгосрочное архивирование, распространение печатных копий Портативная электроника; операционные системы В режиме реального времени Долгосрочное архивирование

Зависимость/независимость от источника электроэнергии

undefined

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

Динамическая оперативная память DRAM (англ. Dynamic random-access memory) — это форма энергозависимой памяти, которая также требует периодического считывания и перезаписи хранимой информации, или обновления, иначе она исчезнет. Статическая оперативная память SRAM (англ. Static random-access memory) — это форма энергозависимой памяти, схожая с DRAM, за исключением того, что пока подаётся электропитание, обновление не требуется, но при отключении питания информация пропадает, также как и в случае с DRAM.

Источник бесперебойного питания (ИБП) или UPS (англ. uninterruptible power supply) может использоваться для предоставления компьютеру короткого периода времени для перемещения информации из первичного энергозависимого хранилища в энергонезависимое хранилище до того, как разрядятся батареи. Некоторые системы имеют встроенные батареи, которые поддерживают энергозависимое хранилище в течение нескольких минут после отключения электропитания.

undefined

Возможность изменения

Хранилище для чтения/записи, или изменяемое хранилище
Позволяет перезаписывать информацию в любое время. Компьютер, не имеющий некоторого объёма памяти для чтения/записи в качестве основного хранилища, был бы бесполезен для многих задач. Современные компьютеры обычно используют память для чтения/записи также и в качестве вторичного хранилища.
Хранилище с медленной записью/быстрым чтением
Хранилище для чтения/записи, позволяющее многократно перезаписывать информацию, но при этом операция записи значительно медленнее операции чтения. Примерами служат CD-RW и SSD .
Хранилище с однократной записью/многократным чтением
Хранилище WORM (англ. Write once read many) позволяет записывать информацию только один раз. Примерами служат полупроводниковые программируемые постоянные запоминающие устройства PROM и CD-R.
Хранилище только для чтения
Сохраняет информацию, записанную на момент производства. Примеры: постоянное запоминающее устройство ROM — (англ. read-only memory, постоянное запоминающее устройство) — масочное ПЗУ, изготовляемое фабричным методом; CD-ROM

Доступность

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

Адресуемость

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

Ёмкость

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

Производительность

Задержка
Время, необходимое для доступа к определённому месту в хранилище. Соответствующей единицей измерения обычно является наносекунда для первичного хранилища, миллисекунда для вторичного хранилища и секунда для третичного хранилища. Имеет смысл разделять задержку чтения и задержку записи (особенно для энергонезависимой памяти), а в случае хранилища с последовательным доступом — минимальную, максимальную и среднюю задержку.
Скорость передачи данных
Скорость, с которой информация может быть прочитана или записана в хранилище. В компьютерном хранении данных пропускная способность обычно выражается в мегабайтах в секунду (МБ/с), хотя может также использоваться битрейт. Как и в случае с задержкой, необходимо дифференцировать скорость чтения и скорость записи. Кроме того, последовательный доступ к носителям, в отличие от случайного, обычно обеспечивает максимальную пропускную способность.
Гранулярность
Размер наибольшего «фрагмента» данных, к которому можно эффективно получить доступ как к единому целому, например, без внесения дополнительной задержки.
Надёжность
Вероятность самопроизвольного изменения значения бита при различных условиях или общая интенсивность отказов. Для измерения производительности ввода-вывода в Linux можно использовать такие утилиты, как Hdparm и System Activity Report (Unix).

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

  • Устройства хранения данных, которые снижают использование вентиляторов, автоматически отключаются во время бездействия, а жёсткие диски с низким энергопотреблением могут снизить потребление энергии на 90 процентов[2][3].
  • Жёсткие диски формата 2,5 дюйма часто потребляют меньше энергии, чем более крупные модели[4][5]. Твердотельные накопители малой ёмкости не имеют движущихся частей и потребляют меньше энергии, чем жёсткие диски[6][7][8]. Кроме того, память может потреблять больше энергии, чем жёсткие диски[8]. Большие буферы, которые используются для предотвращения выхода за пределы памяти, могут также потреблять значительное количество энергии.

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

Для большинства устройств хранения данных доступны: аппаратное полное шифрование диска, программное обеспечение для шифрования дисков, andor file/folder encryption (шифрование файлов/папок)[9].

undefined

Аппаратное шифрование памяти доступно в архитектуре Intel, поддерживающей полное шифрование памяти (Total Memory Encryption —TME) и шифрование с поддержкой нескольких ключей и возможностью постраничного шифрования памяти разными ключами и разными приложениями (page granular memory encryption with multiple keys — MKTME)[10]; и в поколении SPARC M7 с октября 2015 года[11].

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

Различные типы хранения данных имеют разные точки отказа и различные методы прогнозирования сбоев.

undefined

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

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

С помощью диагностических данных технологии S.M.A.R.T. (учитывающей время работы устройства и количество запусков) можно определить надвигающийся отказ жёстких дисков; но надёжность этой информации оспаривается[12].

Скорость передачи данных во флэш-памяти может резко снижаться из-за накопления ошибок, которые контроллер флэш-памяти пытается исправить.

Состояние оптических носителей можно определить путём измерения исправимых незначительных ошибок, при этом высокие показатели указывают на ухудшение качества и/или низкое качество носителей. Слишком большое количество последовательных незначительных ошибок может привести к повреждению данных. Не все производители и модели оптических приводов поддерживают сканирование ошибок[13].

Носители информации

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

Но уже разработаны и используются новые технологии хранения, такие как массивы all-flash (All-flash arrays — AFA)[14][15]. AFA — это высокопроизводительная система хранения данных, которая использует только флеш-накопители (SSD и NVMe-диски) и не имеет вращающихся дисков. Такие системы также известны как Solid-State Arrays (SSA), так как они состоят исключительно из твердотельных устройств хранения[16].

Связанные технологии

Решение технических проблем

Для повышения отказоустойчивости и производительности запоминающих устройств используются технологии избыточности: зеркальное копирование устройств (репликация) и RAID (англ. Redundant Array of Independent Disks — избыточный массив независимых (самостоятельных) дисков).

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

Вторичное и третичное хранилища могут подключаться к компьютеру с помощью компьютерных сетей: DAS (Direct-attached storage); NAS (Network-attached storage); SAN (Storage area network).

Роботизированные хранилища

Большие количества отдельных магнитных лент, оптических или магнитооптических дисков могут храниться в роботизированных третичных устройствах хранения. В области ленточных накопителей они известны как ленточные библиотеки, а в области оптических накопителей — дисководы с автоматической сменой дисков или библиотеки оптических дисков по аналогии.

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

Примечания