Хранение компьютерных данных или цифровое хранение данных — это технология, состоящая из компьютерных компонентов и носителей записи , которые используются для сохранения цифровых данных . Это основная функция и фундаментальный компонент компьютеров. [1] : 15–16
Центральный процессор (ЦП) компьютера — это то, что манипулирует данными, выполняя вычисления. На практике почти все компьютеры используют иерархию хранения , [1] : 468–473 , которая помещает быстрые, но дорогие и небольшие варианты хранения близко к ЦП, а более медленные, но менее дорогие и большие варианты — дальше. Как правило, быстрые [a] технологии называются «памятью», в то время как более медленные постоянные технологии называются «хранением».
Даже первые компьютерные разработки, аналитическая машина Чарльза Бэббиджа и аналитическая машина Перси Ладгейта , четко различали обработку и память (Бэббидж хранил числа как вращения шестеренок, в то время как Ладгейт хранил числа как смещения стержней в челноках). Это различие было расширено в архитектуре фон Неймана , где ЦП состоит из двух основных частей: блока управления и арифметико-логического устройства (АЛУ). Первое управляет потоком данных между ЦП и памятью, а второе выполняет арифметические и логические операции с данными.
Без значительного объема памяти компьютер мог бы просто выполнять фиксированные операции и немедленно выводить результат. Его пришлось бы перенастраивать, чтобы изменить его поведение. Это приемлемо для таких устройств, как настольные калькуляторы , цифровые сигнальные процессоры и другие специализированные устройства. Машины фон Неймана отличаются наличием памяти, в которой они хранят свои рабочие инструкции и данные. [1] : 20 Такие компьютеры более универсальны, поскольку им не нужно перенастраивать свое оборудование для каждой новой программы, а можно просто перепрограммировать с помощью новых инструкций в памяти; они также, как правило, проще в проектировании, поскольку относительно простой процессор может сохранять состояние между последовательными вычислениями для создания сложных процедурных результатов. Большинство современных компьютеров являются машинами фон Неймана.
Современный цифровой компьютер представляет данные с помощью двоичной системы счисления . Текст, числа, изображения, аудио и почти любая другая форма информации может быть преобразована в строку битов или двоичных цифр, каждая из которых имеет значение 0 или 1. Наиболее распространенной единицей хранения является байт , равный 8 битам. Фрагмент информации может обрабатываться любым компьютером или устройством, чье пространство для хранения достаточно велико, чтобы вместить двоичное представление фрагмента информации или просто данных . Например, полное собрание сочинений Шекспира , около 1250 страниц в печатном виде, может быть сохранено примерно в пяти мегабайтах (40 миллионов бит) с одним байтом на символ.
Данные кодируются путем назначения битового шаблона каждому символу , цифре или мультимедийному объекту. Существует множество стандартов кодирования (например, кодировки символов, такие как ASCII , кодировки изображений, такие как JPEG , и кодировки видео, такие как MPEG-4 ).
Добавляя биты к каждой закодированной единице, избыточность позволяет компьютеру обнаруживать ошибки в закодированных данных и исправлять их на основе математических алгоритмов. Ошибки обычно возникают с низкой вероятностью из-за случайного переворота значения бита или «физической усталости бита», потери физическим битом в хранилище его способности поддерживать различимое значение (0 или 1) или из-за ошибок в межкомпьютерной или внутрикомпьютерной коммуникации. Случайное переворот бита (например, из-за случайного излучения ) обычно исправляется при обнаружении. Бит или группа неисправных физических битов (конкретный дефектный бит не всегда известен; определение группы зависит от конкретного устройства хранения) обычно автоматически ограждается, выводится из использования устройством и заменяется другой функционирующей эквивалентной группой в устройстве, где исправленные значения битов восстанавливаются (если это возможно). Метод циклического избыточного кода (CRC) обычно используется в коммуникациях и хранилищах для обнаружения ошибок . Затем обнаруженная ошибка повторяется.
Методы сжатия данных позволяют во многих случаях (например, в базе данных) представлять строку битов более короткой строкой битов («сжимать») и восстанавливать исходную строку («распаковывать») при необходимости. Это использует существенно меньше памяти (десятки процентов) для многих типов данных за счет большего объема вычислений (сжимать и распаковывать при необходимости). Анализ компромисса между экономией затрат на хранение и затратами на связанные вычисления и возможными задержками в доступности данных выполняется до принятия решения о том, сохранять определенные данные сжатыми или нет.
В целях безопасности определенные типы данных (например, информация о кредитных картах ) могут храниться в зашифрованном виде в хранилище, чтобы предотвратить возможность несанкционированного восстановления информации из фрагментов снимков хранилища.
Как правило, чем ниже хранилище в иерархии, тем меньше его пропускная способность и тем больше задержка доступа к нему со стороны ЦП. Это традиционное разделение хранилища на первичное, вторичное, третичное и автономное хранилище также руководствуется стоимостью за бит.
В современном использовании память обычно является быстрой, но временной полупроводниковой памятью для чтения-записи , как правило, DRAM (динамическая оперативная память) или другими подобными устройствами. Хранилище состоит из устройств хранения и их носителей, не доступных напрямую ЦП ( вторичная или третичная память ), как правило, жестких дисков , оптических дисководов и других устройств, более медленных, чем ОЗУ, но энергонезависимых (сохраняющих содержимое при выключении питания). [2]
Исторически память , в зависимости от технологии, называлась центральной памятью , основной памятью , основным хранилищем , барабаном , основной памятью , реальным хранилищем или внутренней памятью . Между тем, более медленные постоянные устройства хранения назывались вторичным хранилищем , внешней памятью или вспомогательным/периферийным хранилищем .
Первичная память (также известная как основная память , внутренняя память или первичная память ), часто называемая просто памятью , является единственной, к которой напрямую имеет доступ ЦП. ЦП непрерывно считывает хранящиеся там инструкции и выполняет их по мере необходимости. Любые активно используемые данные также хранятся там единообразно.
Исторически первые компьютеры использовали линии задержки , трубки Уильямса или вращающиеся магнитные барабаны в качестве первичного хранилища. К 1954 году эти ненадежные методы были в основном заменены памятью на магнитных сердечниках . Память на сердечниках оставалась доминирующей до 1970-х годов, когда достижения в области технологии интегральных схем позволили полупроводниковой памяти стать экономически конкурентоспособной.
Это привело к появлению современной оперативной памяти (ОЗУ). Она небольшая, легкая, но в то же время довольно дорогая. Конкретные типы ОЗУ, используемые для первичного хранения, являются энергозависимыми , то есть они теряют информацию, когда не включены. Помимо хранения открытых программ, она служит в качестве дискового кэша и буфера записи для повышения производительности чтения и записи. Операционные системы заимствуют емкость ОЗУ для кэширования, пока она не нужна работающему программному обеспечению. [3] Резервная память может использоваться в качестве ОЗУ для временного высокоскоростного хранения данных.
Как показано на схеме, традиционно, помимо основной оперативной памяти большой емкости, существуют еще два подуровня первичной памяти:
Основная память напрямую или косвенно подключена к центральному процессору через шину памяти . На самом деле это две шины (не показаны на схеме): адресная шина и шина данных . Сначала ЦП отправляет число через адресную шину, число, называемое адресом памяти , которое указывает желаемое местоположение данных. Затем он считывает или записывает данные в ячейки памяти, используя шину данных. Кроме того, блок управления памятью (MMU) — это небольшое устройство между ЦП и ОЗУ, пересчитывающее фактический адрес памяти, например, для предоставления абстракции виртуальной памяти или других задач.
Поскольку типы RAM, используемые для первичного хранения, являются энергозависимыми (не инициализированными при запуске), компьютер, содержащий только такое хранилище, не будет иметь источника для чтения инструкций, чтобы запустить компьютер. Следовательно, энергонезависимое первичное хранилище, содержащее небольшую программу запуска ( BIOS ), используется для начальной загрузки компьютера, то есть для чтения более крупной программы из энергонезависимого вторичного хранилища в RAM и начала ее выполнения. Энергонезависимая технология, используемая для этой цели, называется ROM, что означает память только для чтения (терминология может быть несколько запутанной, поскольку большинство типов ROM также способны к произвольному доступу ).
Многие типы "ПЗУ" не являются буквально только для чтения , поскольку возможны обновления; однако это медленно, и память должна быть стерта большими порциями, прежде чем ее можно будет перезаписать. Некоторые встроенные системы запускают программы непосредственно из ПЗУ (или аналогичного), поскольку такие программы редко изменяются. Стандартные компьютеры не хранят нерудиментарные программы в ПЗУ, а вместо этого используют большие емкости вторичной памяти, которая также является энергонезависимой и не такой дорогой.
В последнее время термины «первичное хранилище» и «вторичное хранилище» в некоторых случаях относятся к тому, что исторически называлось соответственно «вторичным хранилищем» и «третичным хранилищем» . [4]
Первичная память, включая ПЗУ , ЭСППЗУ , флэш-память NOR и ОЗУ [5] , обычно имеет байтовую адресацию .
Вторичное хранилище (также известное как внешняя память или вспомогательное хранилище ) отличается от первичного хранилища тем, что оно не доступно напрямую ЦП. Компьютер обычно использует свои каналы ввода/вывода для доступа к вторичному хранилищу и передачи нужных данных в первичное хранилище. Вторичное хранилище является энергонезависимым (сохраняет данные при отключении питания). Современные компьютерные системы обычно имеют на два порядка больше вторичного хранилища, чем первичного, поскольку вторичное хранилище дешевле.
В современных компьютерах жесткие диски (HDD) или твердотельные накопители (SSD) обычно используются в качестве вторичного хранилища. Время доступа на байт для HDD или SSD обычно измеряется в миллисекундах (тысячных долях секунды), в то время как время доступа на байт для первичного хранилища измеряется в наносекундах (миллиардных долях секунды). Таким образом, вторичное хранилище значительно медленнее первичного хранилища. Вращающиеся оптические запоминающие устройства, такие как CD и DVD -приводы, имеют еще большее время доступа. Другие примеры технологий вторичного хранения включают USB-флеш-накопители , дискеты , магнитную ленту , бумажную ленту , перфокарты и RAM-диски .
Как только головка чтения/записи диска на HDD достигает надлежащего размещения и данные, последующие данные на дорожке очень быстро доступны. Чтобы сократить время поиска и задержку вращения, данные передаются на диски и с дисков большими непрерывными блоками. Последовательный или блочный доступ к дискам на порядки быстрее, чем случайный доступ, и было разработано много сложных парадигм для проектирования эффективных алгоритмов, основанных на последовательном и блочном доступе. Другим способом уменьшения узкого места ввода/вывода является параллельное использование нескольких дисков для увеличения пропускной способности между первичной и вторичной памятью. [6]
Вторичное хранилище часто форматируется в соответствии с форматом файловой системы , который обеспечивает абстракцию, необходимую для организации данных в файлы и каталоги , а также предоставляет метаданные, описывающие владельца определенного файла, время доступа, разрешения на доступ и другую информацию.
Большинство операционных систем компьютеров используют концепцию виртуальной памяти , что позволяет использовать больше первичной емкости хранилища, чем физически доступно в системе. По мере заполнения первичной памяти система перемещает наименее используемые фрагменты ( страницы ) в файл подкачки или файл подкачки на вторичном хранилище, извлекая их позже, когда это необходимо. Если много страниц перемещается на более медленное вторичное хранилище, производительность системы ухудшается.
Вторичные хранилища, включая HDD , ODD и SSD , обычно имеют блочную адресацию.
Третичное хранилище или третичная память [7] — это уровень ниже вторичного хранилища. Обычно он включает в себя роботизированный механизм, который монтирует (вставляет) и демонтирует съемные носители массовой информации в устройство хранения в соответствии с требованиями системы; такие данные часто копируются во вторичное хранилище перед использованием. Он в основном используется для архивирования редко используемой информации, поскольку он намного медленнее вторичного хранилища (например, 5–60 секунд против 1–10 миллисекунд). Это в первую очередь полезно для чрезвычайно больших хранилищ данных, доступ к которым осуществляется без участия человека. Типичные примеры включают ленточные библиотеки и оптические музыкальные автоматы .
Когда компьютеру необходимо прочитать информацию из третичного хранилища, он сначала обращается к базе данных каталога , чтобы определить, какая лента или диск содержит информацию. Затем компьютер дает указание роботизированной руке извлечь носитель и поместить его в привод. Когда компьютер закончит чтение информации, роботизированная рука вернет носитель на его место в библиотеке.
Третичное хранилище также известно как хранилище nearline , потому что оно «почти онлайн». Формальное различие между хранилищем online, nearline и offline следующее: [8]
Например, постоянно включенные вращающиеся жесткие диски являются онлайн-хранилищем, в то время как вращающиеся диски, которые автоматически останавливаются, например, в массивах бездействующих дисков ( MAID ), являются nearline-хранилищем. Съемные носители, такие как картриджи с лентой, которые могут быть автоматически загружены, как в ленточных библиотеках , являются nearline-хранилищем, в то время как картриджи с лентой, которые должны быть загружены вручную, являются offline-хранилищем.
Оффлайновое хранилище — это компьютерное хранилище данных на носителе или устройстве, которое не находится под контролем процессорного блока . [9] Носитель записывается, как правило, на вторичном или третичном устройстве хранения, а затем физически удаляется или отключается. Он должен быть вставлен или подключен человеком-оператором, прежде чем компьютер сможет снова получить к нему доступ. В отличие от третичного хранилища, к нему нельзя получить доступ без взаимодействия с человеком.
Офлайн- хранение используется для передачи информации , поскольку отсоединенный носитель может быть легко физически перемещен. Кроме того, оно полезно в случаях катастроф, когда, например, пожар уничтожает исходные данные, носитель в удаленном месте не будет затронут, что позволяет выполнить аварийное восстановление . Офлайн-хранение повышает общую информационную безопасность , поскольку оно физически недоступно с компьютера, а конфиденциальность или целостность данных не могут быть затронуты методами компьютерных атак. Кроме того, если информация, хранящаяся в архивных целях, редко используется, офлайн-хранение обходится дешевле, чем третичное хранилище.
В современных персональных компьютерах большинство вторичных и третичных носителей информации также используются для автономного хранения. Оптические диски и устройства флэш-памяти являются наиболее популярными, и в гораздо меньшей степени съемные жесткие диски; более старые примеры включают дискеты и Zip-диски. В корпоративном использовании преобладают картриджи с магнитной лентой; более старые примеры включают открытую катушку магнитной ленты и перфокарты.
Технологии хранения на всех уровнях иерархии хранения можно дифференцировать, оценивая определенные основные характеристики, а также измеряя характеристики, характерные для конкретной реализации. Эти основные характеристики — это изменчивость, изменчивость, доступность и адресуемость. Для любой конкретной реализации любой технологии хранения характеристики, которые стоит измерить, — это емкость и производительность.
Энергонезависимая память сохраняет сохраненную информацию, даже если не снабжается постоянно электроэнергией. Она подходит для долгосрочного хранения информации. Энергонезависимая память требует постоянного питания для поддержания сохраненной информации. Самые быстрые технологии памяти — энергозависимые, хотя это не универсальное правило. Поскольку первичное хранилище должно быть очень быстрым, оно в основном использует энергозависимую память.
Динамическая память с произвольным доступом — это форма энергозависимой памяти, которая также требует периодического перечитывания и перезаписи или обновления хранимой информации , в противном случае она исчезнет. Статическая память с произвольным доступом — это форма энергозависимой памяти, похожая на DRAM, за исключением того, что ее никогда не нужно обновлять, пока подается питание; она теряет свое содержимое, когда питание пропадает.
Источник бесперебойного питания (ИБП) может использоваться для предоставления компьютеру короткого окна времени для перемещения информации из первичного энергозависимого хранилища в энергонезависимое хранилище до того, как разрядятся батареи. Некоторые системы, например, EMC Symmetrix , имеют встроенные батареи, которые поддерживают энергозависимое хранилище в течение нескольких минут.
Для измерения производительности ввода-вывода в Linux можно использовать такие утилиты, как hdparm и sar .
Полное шифрование диска , шифрование тома и виртуального диска, а также шифрование файлов/папок легко доступно для большинства устройств хранения данных. [17]
Аппаратное шифрование памяти доступно в архитектуре Intel, поддерживающей полное шифрование памяти (TME) и гранулярное шифрование памяти на уровне страниц с несколькими ключами (MKTME). [18] [19] и в поколении SPARC M7 с октября 2015 года. [20]
Различные типы хранилищ данных имеют разные точки отказа и разные методы прогнозного анализа отказов .
Уязвимости, которые могут мгновенно привести к полной потере данных, — это поломка головок на механических жестких дисках и отказ электронных компонентов на флэш-накопителях.
Надвигающийся отказ жестких дисков можно оценить с помощью диагностических данных SMART, которые включают часы работы и количество запусков, хотя надежность этих данных оспаривается. [21]
Скорость передачи данных во флэш-памяти может резко снижаться из-за накопления ошибок, которые контроллер флэш-памяти пытается исправить.
Состояние оптических носителей можно определить путем измерения исправимых незначительных ошибок , высокие показатели которых указывают на ухудшение и/или низкое качество носителя. Слишком много последовательных незначительных ошибок могут привести к повреждению данных. Не все производители и модели оптических приводов поддерживают сканирование ошибок. [22]
По состоянию на 2011 год [обновлять]наиболее часто используемыми носителями данных являются полупроводниковые, магнитные и оптические, в то время как бумага все еще имеет ограниченное применение. Предлагается разработать некоторые другие фундаментальные технологии хранения, такие как массивы all-flash (AFA).
Полупроводниковая память использует полупроводниковые интегральные схемы (ИС) для хранения информации. Данные обычно хранятся в ячейках памяти металл-оксид-полупроводник (МОП) . Микросхема полупроводниковой памяти может содержать миллионы ячеек памяти, состоящих из крошечных полевых МОП-транзисторов (МОП-транзисторов) и/или МОП-конденсаторов . Существуют как энергозависимые , так и энергонезависимые формы полупроводниковой памяти, первые используют стандартные МОП-транзисторы, а вторые — МОП-транзисторы с плавающим затвором .
В современных компьютерах первичная память почти исключительно состоит из динамической энергозависимой полупроводниковой памяти с произвольным доступом (RAM), в частности динамической памяти с произвольным доступом (DRAM). С начала века тип энергонезависимой полупроводниковой памяти с плавающим затвором, известный как флэш-память, неуклонно набирает популярность в качестве автономного хранилища для домашних компьютеров. Энергонезависимая полупроводниковая память также используется для вторичного хранения в различных современных электронных устройствах и специализированных компьютерах, которые разработаны для них.
Еще в 2006 году производители ноутбуков и настольных компьютеров начали использовать твердотельные накопители (SSD) на основе флэш-памяти в качестве стандартных вариантов конфигурации для вторичного хранилища в дополнение к более традиционным жестким дискам или вместо них. [23] [24] [25] [26] [27]
Магнитное хранилище использует различные схемы намагничивания на магнитно- покрытой поверхности для хранения информации. Магнитное хранилище является энергонезависимым . Доступ к информации осуществляется с помощью одной или нескольких головок чтения/записи, которые могут содержать один или несколько записывающих преобразователей. Головка чтения/записи покрывает только часть поверхности, так что головка или носитель или и то, и другое должны быть перемещены относительно друг друга для доступа к данным. В современных компьютерах магнитное хранилище будет принимать следующие формы:
В ранних компьютерах магнитная память также использовалась как:
Магнитные накопители не имеют определенного предела циклов перезаписи, как флэш-накопители и перезаписываемые оптические носители, поскольку изменение магнитных полей не вызывает физического износа. Скорее, их срок службы ограничен механическими частями. [28] [29]
Оптическое хранилище , типичный оптический диск , хранит информацию в деформациях на поверхности круглого диска и считывает эту информацию, освещая поверхность лазерным диодом и наблюдая за отражением. Оптическое хранилище на диске является энергонезависимым . Деформации могут быть постоянными (только для чтения), сформированными один раз (однократно записываемые носители) или обратимыми (записываемые или считываемые/записываемые носители). Следующие формы широко используются по состоянию на 2009 год [обновлять]: [30]
Магнитооптический дисковый накопитель — это оптический дисковый накопитель, в котором магнитное состояние на ферромагнитной поверхности сохраняет информацию. Информация считывается оптически и записывается путем объединения магнитных и оптических методов. Магнитооптический дисковый накопитель — это энергонезависимое хранилище с последовательным доступом , медленной записью и быстрым чтением, используемое для третичного и автономного хранения.
Было также предложено трехмерное оптическое хранение данных .
Светоиндуцированное плавление намагниченности в магнитных фотопроводниках также было предложено для высокоскоростного магнитооптического хранения с низким потреблением энергии. [31]
Хранилище данных на бумаге , обычно в виде бумажной ленты или перфокарт , долгое время использовалось для хранения информации для автоматической обработки, особенно до появления компьютеров общего назначения. Информация записывалась путем прокалывания отверстий в бумажном или картонном носителе и считывалась механически (или позднее оптически) для определения того, было ли определенное место на носителе сплошным или содержало отверстие. Штрихкоды позволяют надежно прикреплять к продаваемым или транспортируемым объектам некоторую информацию, считываемую компьютером.
Относительно небольшие объемы цифровых данных (по сравнению с другими хранилищами цифровых данных) могут быть сохранены на бумаге в виде матричного штрих-кода для очень долгосрочного хранения, поскольку долговечность бумаги обычно превышает даже долговечность магнитного хранения данных. [32] [33]
В то время как группа битовых неисправностей может быть устранена с помощью механизмов обнаружения и исправления ошибок (см. выше), неисправность запоминающего устройства требует других решений. Следующие решения широко используются и действительны для большинства запоминающих устройств:
Зеркальное отображение устройств и типичный RAID предназначены для обработки отказа одного устройства в группе RAID устройств. Однако если второй отказ происходит до того, как группа RAID будет полностью восстановлена после первого отказа, то данные могут быть потеряны. Вероятность одного отказа обычно невелика. Таким образом, вероятность двух отказов в одной и той же группе RAID в непосредственной близости по времени намного меньше (приблизительно квадрат вероятности, т. е. умноженная на себя). Если база данных не может выдержать даже такую меньшую вероятность потери данных, то сама группа RAID реплицируется (зеркалируется). Во многих случаях такое зеркалирование выполняется географически удаленно, в другом массиве хранения, для обработки восстановления после сбоев (см. восстановление после сбоев выше).
Вторичное или третичное хранилище может подключаться к компьютеру с помощью компьютерных сетей . Эта концепция не относится к первичному хранилищу, которое в меньшей степени разделено между несколькими процессорами.
Большие количества отдельных магнитных лент, оптических или магнитооптических дисков могут храниться в роботизированных третичных устройствах хранения. В области ленточных накопителей они известны как ленточные библиотеки , а в области оптических накопителей — оптические музыкальные автоматы или библиотеки оптических дисков по аналогии. Наименьшие формы любой из этих технологий, содержащие только одно приводное устройство, называются автозагрузчиками или авточейнджерами .
Устройства хранения с роботизированным доступом могут иметь несколько слотов, каждый из которых содержит отдельные носители, и обычно одного или нескольких роботов-сборщиков, которые проходят по слотам и загружают носители во встроенные накопители. Расположение слотов и устройств-сборщиков влияет на производительность. Важными характеристиками такого хранилища являются возможные варианты расширения: добавление слотов, модулей, накопителей, роботов. Ленточные библиотеки могут иметь от 10 до более чем 100 000 слотов и предоставлять терабайты или петабайты информации near-line. Оптические музыкальные автоматы — это несколько меньшие решения, до 1000 слотов.
Роботизированное хранилище используется для резервного копирования и для архивов большой емкости в индустрии обработки изображений, медицины и видео. Иерархическое управление хранилищем — наиболее известная стратегия архивирования, которая заключается в автоматическом перемещении давно неиспользуемых файлов с быстрого жесткого диска в библиотеки или музыкальные автоматы. Если файлы нужны, они извлекаются обратно на диск.
В этой статье использованы материалы из общедоступного Федерального стандарта 1037C. Администрация общих служб . Архивировано из оригинала 22 января 2022 г.