Хранение компьютерных данных — это технология, состоящая из компьютерных компонентов и носителей записи , которые используются для хранения цифровых данных . Это основная функция и фундаментальный компонент компьютеров. [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] Запасную память можно использовать в качестве RAM-накопителя для временного высокоскоростного хранения данных.
Как показано на схеме, традиционно помимо основной оперативной памяти большой емкости существуют еще два подслоя первичной памяти:
Основная память прямо или косвенно связана с центральным процессором через шину памяти . На самом деле это две шины (на схеме нет): адресная шина и шина данных . ЦП сначала отправляет через адресную шину число, называемое адресом памяти , которое указывает желаемое расположение данных. Затем он считывает или записывает данные в ячейки памяти с помощью шины данных. Кроме того, блок управления памятью (MMU) — это небольшое устройство между ЦП и ОЗУ, пересчитывающее фактический адрес памяти, например, для обеспечения абстракции виртуальной памяти или других задач.
Поскольку типы ОЗУ, используемые для основного хранилища, являются энергозависимыми (неинициализируются при запуске), компьютер, содержащий только такое хранилище, не будет иметь источника для чтения инструкций для запуска компьютера. Следовательно, энергонезависимая первичная память , содержащая небольшую программу запуска ( BIOS ), используется для загрузки компьютера, то есть для чтения более крупной программы из энергонезависимой вторичной памяти в ОЗУ и начала ее выполнения. Энергонезависимая технология, используемая для этой цели, называется ПЗУ, что означает постоянное запоминающее устройство (терминология может быть несколько запутанной, поскольку большинство типов ПЗУ также допускают произвольный доступ ).
Многие типы «ПЗУ» не предназначены только для чтения , поскольку их обновления возможны; однако он медленный, и память приходится стирать большими частями, прежде чем ее можно будет перезаписать. Некоторые встроенные системы запускают программы непосредственно из ПЗУ (или аналогичного), поскольку такие программы редко изменяются. Стандартные компьютеры не хранят неэлементарные программы в ПЗУ, а, скорее, используют большую емкость вторичной памяти, которая также является энергонезависимой и не такой дорогой.
В последнее время первичное хранилище и вторичное хранилище в некоторых случаях относятся к тому, что исторически называлось соответственно вторичным хранилищем и третичным хранилищем . [4]
Вторичная память (также известная как внешняя память или вспомогательная память ) отличается от первичной памяти тем, что процессор не имеет прямого доступа к ней. Компьютер обычно использует свои каналы ввода-вывода для доступа к вторичному хранилищу и передачи нужных данных в основное хранилище. Вторичное хранилище является энергонезависимым (сохраняет данные даже при отключении питания). Современные компьютерные системы обычно имеют на два порядка больше вторичного хранилища, чем первичное, поскольку вторичное хранилище дешевле.
В современных компьютерах в качестве вторичного хранилища обычно используются жесткие диски (HDD) или твердотельные накопители (SSD). Время доступа к одному байту для жестких дисков или твердотельных накопителей обычно измеряется в миллисекундах (тысячные доли секунды), тогда как время доступа к одному байту для основного хранилища измеряется в наносекундах (миллиардные доли секунды). Таким образом, вторичное хранилище работает значительно медленнее, чем первичное. Вращающиеся оптические устройства хранения данных, такие как приводы компакт-дисков и DVD-дисков , имеют еще большее время доступа. Другие примеры технологий вторичного хранения включают USB-накопители , дискеты , магнитную ленту , бумажную ленту , перфокарты и RAM-диски .
Как только головка чтения/записи жесткого диска достигает нужного места и данных, доступ к последующим данным на дорожке становится очень быстрым. Чтобы сократить время поиска и задержку вращения, данные передаются на диски и с дисков большими смежными блоками. Последовательный или блочный доступ к дискам на порядки быстрее, чем произвольный доступ, и было разработано множество сложных парадигм для разработки эффективных алгоритмов, основанных на последовательном и блочном доступе. Другой способ уменьшить узкое место ввода-вывода — параллельное использование нескольких дисков для увеличения пропускной способности между основной и вторичной памятью. [5]
Вторичное хранилище часто форматируется в соответствии с форматом файловой системы , который обеспечивает абстракцию, необходимую для организации данных в файлы и каталоги , а также предоставляет метаданные , описывающие владельца определенного файла, время доступа, права доступа и другую информацию.
Большинство компьютерных операционных систем используют концепцию виртуальной памяти , позволяющую использовать больший объем первичной памяти, чем физически доступен в системе. По мере заполнения основной памяти система перемещает наименее используемые фрагменты ( страницы ) в файл подкачки или файл подкачки во вторичном хранилище, извлекая их позже, когда это необходимо. Если большое количество страниц перемещается в более медленное вторичное хранилище, производительность системы снижается.
Третичная память или третичная память [6] — это уровень ниже вторичной памяти. Обычно это включает в себя роботизированный механизм, который будет монтировать (вставлять) и отключать съемные носители данных в запоминающее устройство в соответствии с требованиями системы; такие данные часто копируются во вторичное хранилище перед использованием. Он в основном используется для архивирования редко используемой информации, поскольку он намного медленнее, чем вторичное хранилище (например, 5–60 секунд против 1–10 миллисекунд). Это в первую очередь полезно для чрезвычайно больших хранилищ данных, доступ к которым осуществляется без участия человека-оператора. Типичные примеры включают ленточные библиотеки и оптические музыкальные автоматы .
Когда компьютеру необходимо прочитать информацию из третичного хранилища, он сначала обращается к базе данных каталога , чтобы определить, на какой ленте или диске содержится информация. Затем компьютер даст команду роботизированной руке извлечь носитель и поместить его в привод. Когда компьютер завершит чтение информации, роботизированная рука вернет носитель на место в библиотеке.
Третичное хранилище также известно как « ближнее оперативное хранилище», поскольку оно «близко к онлайновому». Формальное различие между онлайновым, ближним и автономным хранилищем следующее: [7]
For example, always-on spinning hard disk drives are online storage, while spinning drives that spin down automatically, such as in massive arrays of idle disks (MAID), are nearline storage. Removable media such as tape cartridges that can be automatically loaded, as in tape libraries, are nearline storage, while tape cartridges that must be manually loaded are offline storage.
Off-line storage is computer data storage on a medium or a device that is not under the control of a processing unit.[8] The medium is recorded, usually in a secondary or tertiary storage device, and then physically removed or disconnected. It must be inserted or connected by a human operator before a computer can access it again. Unlike tertiary storage, it cannot be accessed without human interaction.
Off-line storage is used to transfer information since the detached medium can easily be physically transported. Additionally, it is useful for cases of disaster, where, for example, a fire destroys the original data, a medium in a remote location will be unaffected, enabling disaster recovery. Off-line storage increases general information security since it is physically inaccessible from a computer, and data confidentiality or integrity cannot be affected by computer-based attack techniques. Also, if the information stored for archival purposes is rarely accessed, off-line storage is less expensive than tertiary storage.
In modern personal computers, most secondary and tertiary storage media are also used for off-line storage. Optical discs and flash memory devices are the most popular, and to a much lesser extent removable hard disk drives; older examples include floppy disks and Zip disks. In enterprise uses, magnetic tape cartridges are predominant; older examples include open-reel magnetic tape and punched cards.
Storage technologies at all levels of the storage hierarchy can be differentiated by evaluating certain core characteristics as well as measuring characteristics specific to a particular implementation. These core characteristics are volatility, mutability, accessibility, and addressability. For any particular implementation of any storage technology, the characteristics worth measuring are capacity and performance.
Энергонезависимая память сохраняет хранимую информацию даже при отсутствии постоянного электропитания. Он подходит для длительного хранения информации. Энергозависимая память требует постоянного питания для сохранения хранимой информации. Самые быстрые технологии памяти энергозависимы, хотя это не универсальное правило. Поскольку основное хранилище должно быть очень быстрым, оно преимущественно использует энергозависимую память.
Динамическая оперативная память — это форма энергозависимой памяти, которая также требует, чтобы хранимая информация периодически перечитывалась и перезаписывалась или обновлялась , иначе она исчезнет. Статическая оперативная память — это форма энергозависимой памяти, похожая на DRAM, за исключением того, что ее никогда не нужно обновлять, пока подается питание; он теряет свое содержимое при потере питания.
Источник бесперебойного питания (ИБП) можно использовать, чтобы дать компьютеру короткий промежуток времени для перемещения информации из первичного энергозависимого хранилища в энергонезависимое хранилище до того, как батареи разрядятся. Некоторые системы, например EMC Symmetrix , имеют встроенные батареи, обеспечивающие энергозависимое хранение в течение нескольких минут.
Такие утилиты, как hdparm и sar, можно использовать для измерения производительности ввода-вывода в Linux.
Полное шифрование диска , шифрование тома и виртуального диска, а также шифрование файлов и папок легко доступно для большинства устройств хранения данных. [16]
Аппаратное шифрование памяти доступно в архитектуре Intel, поддерживающей полное шифрование памяти (TME) и страничное шифрование памяти с несколькими ключами (MKTME). [17] [18] и в поколении SPARC M7 с октября 2015 года. [19]
Различные типы хранилищ данных имеют разные точки сбоя и различные методы прогнозного анализа сбоев .
Уязвимости, которые могут мгновенно привести к полной потере данных, — это поломка головки механических жестких дисков и выход из строя электронных компонентов флэш-накопителей.
Надвигающийся сбой жестких дисков можно оценить с помощью диагностических данных SMART, которые включают часы работы и количество раскруток, хотя их достоверность оспаривается. [20]
Скорость передачи данных во флэш-накопителе может снижаться из-за накопления ошибок, которые контроллер флэш-памяти пытается исправить.
Состояние оптических носителей можно определить путем измерения исправимых незначительных ошибок , большое количество которых означает ухудшение качества носителя и/или его качество. Слишком много последовательных мелких ошибок может привести к повреждению данных. Не все производители и модели оптических приводов поддерживают сканирование ошибок. [21]
По состоянию на 2011 год [обновлять]наиболее часто используемыми носителями данных являются полупроводниковые, магнитные и оптические, тогда как бумага по-прежнему используется ограниченно. Предлагаются к разработке некоторые другие фундаментальные технологии хранения данных, такие как флэш-массивы (AFA).
Полупроводниковая память использует полупроводниковые интегральные схемы (ИС) для хранения информации. Данные обычно хранятся в ячейках памяти металл-оксид-полупроводник (МОП) . Полупроводниковый чип памяти может содержать миллионы ячеек памяти, состоящих из крошечных полевых МОП-транзисторов (МОП-транзисторов) и/или МОП-конденсаторов . Существуют как энергозависимые , так и энергонезависимые формы полупроводниковой памяти: в первой используются стандартные МОП-транзисторы, а во второй — МОП-транзисторы с плавающим затвором .
В современных компьютерах первичная память почти исключительно состоит из динамической энергозависимой полупроводниковой памяти с произвольным доступом (RAM), в частности динамической памяти с произвольным доступом (DRAM). С начала века тип энергонезависимой полупроводниковой памяти с плавающим затвором, известный как флэш-память, постепенно набирает популярность в качестве автономного хранилища для домашних компьютеров. Энергонезависимая полупроводниковая память также используется в качестве вторичной памяти в различных современных электронных устройствах и специализированных компьютерах, предназначенных для них.
Еще в 2006 году производители ноутбуков и настольных компьютеров начали использовать твердотельные накопители (SSD) на основе флэш-памяти в качестве параметров конфигурации по умолчанию для вторичного хранилища либо в дополнение к более традиционным жестким дискам, либо вместо них. [22] [23] [24] [25] [26]
Магнитное хранилище использует различные схемы намагничивания на поверхности с магнитным покрытием для хранения информации. Магнитный накопитель энергонезависимый . Доступ к информации осуществляется с использованием одной или нескольких головок чтения/записи, которые могут содержать один или несколько записывающих преобразователей. Головка чтения/записи покрывает только часть поверхности, поэтому для доступа к данным головку или носитель или и то, и другое необходимо перемещать относительно другого. В современных компьютерах магнитное хранилище будет иметь следующие формы:
В ранних компьютерах магнитное хранилище также использовалось как:
Магнитное хранилище не имеет определенного ограничения на циклы перезаписи, как флэш-накопитель и перезаписываемые оптические носители, поскольку изменение магнитных полей не вызывает физического износа. Скорее, срок их службы ограничен механическими частями. [27] [28]
Оптическое хранилище , типичный оптический диск , хранит информацию в деформациях на поверхности круглого диска и считывает эту информацию, освещая поверхность лазерным диодом и наблюдая за отражением. Оптический диск является энергонезависимым . Деформации могут быть постоянными (носитель только для чтения), однократно сформированными (носитель для однократной записи) или обратимыми (носитель для записи или чтения/записи). По состоянию на 2009 год широко используются следующие формы [обновлять]: [29]
Магнитооптический диск — это накопитель на оптических дисках, в котором магнитное состояние ферромагнитной поверхности хранит информацию. Информация считывается оптически и записывается с помощью сочетания магнитных и оптических методов. Магнитооптический диск является энергонезависимым хранилищем с последовательным доступом , медленной записью и быстрым чтением, используемым для третичного и автономного хранения.
Также было предложено оптическое 3D-хранилище данных .
Светоиндуцированное намагниченное плавление в магнитных фотопроводниках также было предложено для высокоскоростного магнитооптического хранения с низким энергопотреблением. [30]
Бумажное хранилище данных , обычно в виде бумажной ленты или перфокарт , издавна использовалось для хранения информации для автоматической обработки, особенно до того, как появились компьютеры общего назначения. Информация записывалась путем пробивания отверстий в бумажном или картонном носителе и считывалась механически (или позже оптически), чтобы определить, было ли конкретное место на носителе твердым или содержало отверстие. Штрих-коды позволяют надежно прикрепить к объектам, которые продаются или транспортируются, некоторую машиночитаемую информацию.
Относительно небольшие объемы цифровых данных (по сравнению с другими хранилищами цифровых данных) могут быть сохранены на бумаге в виде матричного штрих-кода для очень долгосрочного хранения, поскольку срок службы бумаги обычно превышает даже срок хранения магнитных данных. [31] [32]
Хотя неисправность группы битов может быть устранена с помощью механизмов обнаружения и исправления ошибок (см. выше), неисправность устройства хранения требует других решений. Следующие решения обычно используются и подходят для большинства устройств хранения данных:
Зеркальное отображение устройств и типичный RAID предназначены для обработки сбоя одного устройства в группе устройств RAID. Однако если второй сбой произойдет до того, как группа RAID будет полностью восстановлена после первого сбоя, данные могут быть потеряны. Вероятность единичного сбоя обычно невелика. Таким образом, вероятность двух сбоев в одной и той же RAID-группе во времени существенно меньше (примерно квадрат вероятности, т. е. умноженная сама на себя). Если база данных не может вынести даже такой меньшей вероятности потери данных, то сама RAID-группа реплицируется (зеркалируется). Во многих случаях такое зеркалирование выполняется географически удаленно, в другом массиве хранения, для обеспечения восстановления после сбоев (см. Аварийное восстановление выше).
Вторичное или третичное хранилище может подключаться к компьютеру с использованием компьютерных сетей . Эта концепция не относится к основной памяти, которая в меньшей степени используется несколькими процессорами.
Большие количества отдельных магнитных лент, а также оптических или магнитооптических дисков могут храниться в роботизированных третичных запоминающих устройствах. В области ленточных хранилищ они известны как ленточные библиотеки , а в области оптических хранилищ — оптические музыкальные автоматы или библиотеки оптических дисков, по аналогии. Наименьшие формы любой технологии, содержащие только одно приводное устройство, называются автозагрузчиками или авточейнджерами .
Устройства хранения данных с роботизированным доступом могут иметь несколько слотов, каждый из которых содержит отдельный носитель, и обычно одного или нескольких роботов-сборщиков, которые перемещаются по слотам и загружают носители на встроенные накопители. Расположение прорезей и устройств захвата влияет на производительность. Важными характеристиками такого хранилища являются возможные варианты расширения: добавление слотов, модулей, накопителей, роботов. Ленточные библиотеки могут иметь от 10 до более 100 000 слотов и обеспечивать терабайты или петабайты оперативной информации. Оптические музыкальные автоматы представляют собой несколько меньшие по размеру решения, до 1000 слотов.
Роботизированное хранилище используется для резервного копирования и архивов большой емкости в сфере обработки изображений, медицины и видео. Иерархическое управление хранилищем — это наиболее известная стратегия архивирования, позволяющая автоматически переносить давно неиспользуемые файлы из хранилища на быстром жестком диске в библиотеки или музыкальные автоматы. Если файлы необходимы, они возвращаются на диск.
Эта статья включает общедоступные материалы из Федерального стандарта 1037C. Управление общего обслуживания . Архивировано из оригинала 22 января 2022 года.