Запоминающие устройства компьютера или цифровое хранение данных — это сохранение данных с помощью технологии, состоящих из компьютерных компонентов и носителей информации. Цифровое хранение данных является основной функцией и фундаментальным компонентом компьютеров.

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

В современных компьютерах в качестве хранилищ данных обычно используются жёсткие диски (hard disk drive, HDD) или твердотельные накопители (solid-state drive, SSD).

Данные Современный компьютер представляет данные с помощью двоичной системы счисления. Ячейка памяти является фундаментальным строительным блоком компьютерной памяти, сохраняющим один бит информации, который может быть установлен для хранения 1, сброшен для хранения 0 и доступен путем чтения ячейки.

Текст, числа, изображения, аудио и почти любая другая форма информации может быть преобразована в сроку бит (двоичных цифр), каждый из которых имеетзначение 0 или 1. Наиболее распространенной единицей хранения является байт, равный 8 битам. Цифровые данные представляют собой двоичное представление информации, часто кодируемое путем присвоения битовой последовательности каждому символу, цифре или мультимедийному объекту. Существует множество стандартов кодирования (например, кодировки символов, такие как ASCII, кодировки изображений, такие как JPEG и кодировки видео, такие как MPEG-4).

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

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

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

Избыточность Избыточность позволяет компьютеру обнаруживать ошибки в закодированных данных (например, случайное в результате случайного радиационного излучения) и исправлять их на основе математических алгоритмов. Метод циклической избыточной проверки (cyclic redundancy check, CRC) обычно используется в системах связи и хранения данных для обнаружения ошибок. Решения, основанные на избыточности, включают репликацию хранилищ, зеркалирование дисков и RAID (Redundant Array of Independent Disks — избыточный массив независимых дисков) ).

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

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

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

Память и хранилище данных В современном употреблении термин «хранилище» обычно относится к части запоминающих устройств компьютера, включающей устройства и носители, которые не доступны напрямую центральному процессору (ЦПУ), то есть к вторичным или третичным хранилищам. К распространенным типам хранилищ относятся жесткие диски, оптические дисководы и энергонезависимая память (то есть устройства, сохраняющие содержимое при выключении компьютера). С другой стороны, термин «память» используется для обозначения данных, как правило, DRAM (dynamic random-access memory, динамическая память с произвольным доступом). DRAM память является разновидностью энергозависимой памяти, которая также требует периодического считывания и перезаписи или . SRAM (static random-access memory, cтатическая память с произвольным доступом) похожа на DRAM, хотя и не требует обновления, пока питание не выключается.

В современном употреблении иерархия памяти, состоящая из основной памяти и вторичной памяти в некоторых случаях относится к тому, что исторически называлось, соответственно, вторичной памятью и третичной памятью.

Основная память

Основная память (известная также как оперативная память или внутренняя память), часто называемая просто памятью, — это хранилище, напрямую доступное центральному процессору. Процессор непрерывно считывает хранящиеся там инструкции и выполняет их по мере необходимости. Любые данные, с которыми активно работают, также хранятся там в единообразном виде. Исторически, ранние компьютеры использовали линии задержки, трубки Уильямса или вращающиеся магнитные барабаны в качестве основной памяти. К 1954 году эти ненадежные методы были в основном заменены памятью на магнитных сердечниках. Память на сердечниках оставалась доминирующей до 1970-х годов, когда достижения в технологии интегральных схем позволили стать экономически конкурентоспособной.

Это привело к созданию современной памяти с произвольным доступом (ОЗУ, RAM), которая отличается компактными размерами, малым весом и относительно высокой стоимостью. ОЗУ, используемая в качестве основной памяти, является энергозависимой, то есть теряет хранимую информацию при отключении питания. Помимо хранения открытых программ, она служит и для повышения производительности чтения и записи. Операционные системы используют часть ОЗУ для кэширования, пока она не требуется запущенным программным обеспечением. Свободная память может использоваться как RAM-диск для временного высокоскоростного хранения данных. Помимо основной ОЗУ большой емкости, существуют еще два подслоя основной памяти: Регистры процессора являются самым быстрым типом хранения данных, поскольку расположены внутри процессора. Каждый регистр обычно содержит машинное слово (часто 32 или 64 бита). Инструкции центрального процессора предписывают арифметико-логическому устройству выполнять различные вычисления или другие операции над этими данными. Кэш процессора представляет собой промежуточное звено между более быстрыми регистрами и более медленной основной памятью. Он работает быстрее основной памяти, но имеет значительно меньший объем. Часто используется многоуровневая иерархическая структура кэша, где первичный кэш является самым маленьким и быстрым, а вторичный кэш — более крупным и медленным.

Основная память, такая как ПЗУ (ROM), EEPROM (электрически стираемое перепрограммируемое ПЗУ), NOR-флеш и RAM, как правило, . Такая память подключается к центральному процессору напрямую или косвенно через шину памяти, состоящую из шины памяти, состоящую из адресной шины и шины данных. Сначала процессор отправляет по адресной шине число, называемое адресом памяти, которое указывает на нужное местоположение данных. Затем он считывает или записывает данные в ячейка памяти, используя шину данных. Кроме того, блок управления памятью (Memory management unit , MMU) — это небольшое устройство между процессором и ОЗУ, которое пересчитывает фактический адрес памяти. Блоки управления памятью обеспечивают управление памятью. Например, они могут предоставлять абстрактную виртуальную память или выполнять другие задачи.

BIOS Энергонезависимое основное хранилище содержит небольшую стартовую программу (BIOS), которая используется для начальной загрузки компьютера. Она считывает более крупную программу из энергонезависимой вторичной памяти в оперативную память и начинает ее выполнение. Технология энергонезависимой памяти, используемая для этой цели, называется постоянным запоминающим устройством (ПЗУ, read-only memory, ROM). Большинство типов «ПЗУ» на самом деле не являются строго только для чтения, но записывать в них информацию сложно и медленно. Некоторые встраиваемые системы запускают программы непосредственно из ПЗУ, поскольку такие программы редко изменяются. Стандартные компьютеры в основном не хранят много программ в ПЗУ, за исключением встроенного программного обеспечения, и используют большие объемы вторичной памяти.

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

В современных компьютерах в качестве вторичного хранилища обычно используются жёсткие диски или твердотельные накопители. на байт для жёстких дисков или твердотельных накопителей обычно измеряется в миллисекундах, тогда как время доступа на байт для первичного хранилища измеряется в наносекундах. Вращающиеся оптические накопители, такие как CD и DVD, имеют еще большее время доступа. К другим примерам технологий вторичного хранения относятся USB-флеш накопители, дискеты, магнитные ленты, перфоленты, перфокарты и RAM-диски.

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