Память для промежуточного хранения данных используется для компенсации данных

Обновлено: 15.07.2024

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

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

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

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


Рис. 12.11. Двунаправленный информационный буфер

Информационные буферы бывают однонаправленными (входными или выходными) и двунаправленными (то есть входными и выходными одновременно - рис. 12.11). Например, буферная память сетевого адаптера двунаправленная, так как она буферирует и информацию, передаваемую в сеть из компьютера, и информацию, принимаемую из сети в компьютер. Двунаправленные буферы всегда сложнее проектировать из-за большего количества потоков данных.

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

Информационные буферы с периодическим режимом обмена могут быть организованы по типу FIFO или по типу LIFO .

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

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

Тем самым, разнообразие информационных буферов огромно. Мы же рассмотрим здесь всего три примера схем буферной памяти.

Первая схема - это простейший однонаправленный буфер с периодическим режимом обмена по принципу FIFO (рис. 12.12). Одно устройство записывает информацию в буфер, на другое устройство выдается информация из буфера. Память всегда записывается полностью, по всем адресам, и читается также полностью. Строб записи "–Зап." поступает в режиме записи с частотой, необходимой для записи, строб чтения "–Чт." поступает при чтении с частотой, необходимой для чтения. Шины данных для записи и чтения в память в случае, показанном на рисунке, отдельные.

При таких условиях необходим всего лишь один счетчик для перебора адресов памяти, причем счетчик, работающий только в режиме прямого счета и имеющий вход начального сброса в нуль.

Перед началом работы устройство, производящее запись в память, сбрасывает счетчик в нуль сигналом "–Сброс" и устанавливает режим записи в память, перебрасывая в нуль управляющий триггер (единица на инверсном выходе ). Затем начинается процесс записи: записываемые данные поступают с однонаправленного входного буфера (АП5) и записываются в память сигналом "–Зап.", который своим задним фронтом переключает адреса памяти. Полная процедура записи включает в себя столько циклов записи, сколько имеется ячеек у используемой памяти.

После окончания процедуры записи устройство, производившее запись, разрешает чтение из памяти, устанавливая в единицу триггер положительным фронтом сигнала "Пуск" (нуль на инверсном выходе ). При этом разрешается прохождение сигнала "–Чт.". Адреса памяти переключаются по заднему фронту сигнала "–Чт.", и по этому же фронту данные, читаемые из памяти, фиксируются в выходном регистре, срабатывающем по фронту (например, ИР27). Выходной регистр выполняет две функции: он не пропускает на выход данные, записываемые в память (по сигналу -WE запрещается запись в триггер), а также обеспечивает одновременность изменения всех разрядов читаемых данных. Выходная информация из-за этого регистра задерживается на один период сигнала "–Чт.", что необходимо учитывать. Если взять регистр со входом сброса в нуль, то можно сделать, чтобы при процедуре записи в память на выходе схемы был нулевой код.

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

2.Префикс, означающий использование компьютера в сети Интернет.
4.Система обмера информацией на определённую тему между абонентами сети.
6.Величина, количество символов (колебаний), посылаемых модемом по телефонной линии за одну секунду.
10.Указатель, ссылка, место, где хранится информация.
11.Небольшая программа, написанная на языке программирования Java.
13.Цифровая камера, присоединяющаяся к компьютеру и передающая вид через Интернет.
14.Возврат не дошедшей до адреса почты.
16.Гипертекстовая связь, позволяющая перейти в другую часть Интернета.
19.Устройство для передачи информации данных по телефонной линии.

Вопросы по вертикали:

Ответы на кроссворд:

По горизонтали: 2.Кибер. 4.Телеконференция. 6.Бод. 10.Адрес. 11.Аплет. 13.Вебкамера. 14.Рикошет. 16.Ссылка. 19.Модем.

По вертикали: 1.Гипертекст. 2.Гиперссылка. 4.Баннер. 5.Мультимедиа. 7.Интернет. 8. Чат. 9.Браузер. 20.Портал. 12.Хакер. 15.Канал. 17.Спам.18.Сервер.

Вопросы по горизонтали:

3. Устройство воспроизведения звука
4. … содержит большое количество кнопок
5. Графический процессор
6. Главная часть системного блока
7. Бывает полевая, ручная и компьютерная
8. Отверстие для подключения различных устройств
10. Шлейф, а по другому…
12. Устройство сканирования информации
13. Устройство отображения информации
14. Их множество на клавиатуре
16. Звуковая…
17. Устройство ввода звуковой информации.

Вопросы по вертикали:

1. Системная плата
2. Жесткий…
3. Устройство охлаждения
4. Как называется одним словом монитор, системный блок, клавиатура, мышь
9. Устройство передачи графической информации в печатном виде
10. Оперативная…
11. Устройство ввода гибких дисков
13. Устройство выхода в Интернет
15. Центральное устройство ЭВМ

Ответы на кроссворд:

По вертикали: 1. Магистраль 2. Диск 3. Куллер 4. Компьютер 9. Принтер 10. Память 11. Дисковод 13. Модем 15. Процессор.

По горизонтали: 3. Колонка 4. Клавиатура 5. Видеокарта 6.Корпус 7. Мышь 8. Порт 10. Провод 12. Сканер 13. Монитор 14. Клавиша 16. Карта 17. Микрофон.

Вопросы по горизонтали:

1.Что находится в правой крайней части панели задач?
3.Состоит из отдельных файлов.
7.Что составляет основную часть компьютера?
8.Это служит для выбора одного из взаимоисключающих вариантов.
13.Строка непосредственно под верхней границей окна, содержащая название окна.
15.Что располагается в нижнем левом углу рабочего стола?
17.Из чего состоит панель?
18.Основную часть экрана занимает рабочий…

Вопросы по вертикали:

2.Набор предлагаемых значений.
4.«Грызун» для компьютера.
5.Рамка, ограничивающая окно с четырёх сторон.
6.Нажатие на клавишу мышки.
9.Что обеспечивает присваивание кого – либо параметру определённого значения?
11.Один из основных видов значков.
13.Что позволяет плавно изменять значение какого – либо параметра.
16.Как называется кнопка, которая позволяет вызвать главное меню.
17.Один из основных элементов графического интерфейса перечень команд.

Ответы на кроссворд:

По горизонтали: 1.Часы. 3.Папка. 7.Экран. 8.Переключатель. 13.Заголовок. 15.Значок. 17.Вкладки. 18.Стол.

По вертикали: 2.Список. 4.Мышь. 5.Граница. 6.Щелчок. 9.Флажок. 11.Корзина. 13.Счетчик. 16.Пуск. 17.Ползунок.

Вопросы по горизонтали:

1.Заранее заданная последовательность четко определенных команд для получения решения задачи.
3.Совокупность команд, задающих последовательность действий процессора с целью получения требующегося результата.
5.Законченное смысловое выражение на языке высокого уровня.
6.Язык, разработанный для реализации операций системы UNIX в начале 70-х годов.
7.Язык, созданный в 1959 году. Цель его создания состояла в организации удобства обработки символьной информации.
10.Память для промежуточного хранения данных, используется для компенсации данных.
12.Программа, предназначенная для перевода операторов языка высокого уровня в машинные команды, выполняемые процессором.

Вопросы по вертикали:

1.Язык, предназначенный для представления в удобной символической форме программы на машинном языке.
2.Программа, преобразующая программу на исходном языке в объектную (в машинных кодах).
3. Часть программы, которая выполняет некоторую четкую определенную операцию над данными, определяемыми параметрами.
4. Относительно независимая часть программы.
8. Язык, который был создан французским ученым А.Кальмеероэ в 1973 году.
9. Язык, разработанный в 1964 году, представляет собой язык программирования.
11.Язык программирования, который появился в начале 1995 года и быстро завоевал титул первой системы визуальной разработки приложений для Windows.

Ответы на кроссворд:

По горизонтали: 1.Алгоритм. 3.Программа; 5.Оператор.6.Си. 7.Лисп. 10.Буфер. 12.Компилятор.

По вертикали: 1.Ассемблер. 2.Транслятор. 3.Процедура. 4.Модуль. 8.Пролог. 9.Бейсик; 11.Делфи.

Кроссворд 5 по теме "Графический редактор".

Вопросы по горизонтали:

3.Команда, позволяющая повернуть рисунок зеркально.
5.Инструмент для заполнения части рисунка одним цветом.
6.Инструмент, позволяющий взять требуемый цвет прямо с рисунка.
8.Инструмент для создания замкнутых ломаных линий.
9.Признак или свойство характеризующее предмет, в данном случае размеры рисунка.
10.Начертание шрифта на рисунке.
11.Чертежный инструмент, позволяющий соединить две точки прямой линией.
13.Инструмент, создающий эффект разбрызгивания краски.
15.Специальное устройство ввода для рисования на экране.
16. Инструмент для выделения прямоугольных или произвольных фрагментов рисунка.

Вопросы по вертикали:

1.Программа для обработки какой-либо информации.
2.То, что можно изменять при помощи палитры.
4.Инструмент для удаления фрагмента рисунка.
7.Меню цветов.
8.Инструмент для увеличения фрагмента рисунка.
12.Название инструмента для работы с частью рисунка.
14.Команда, опрокидывания рисунка на 900.

Ответы на кроссворд:

По горизонтали : 3.Отражение. 5.Заливка. 6.Пипетка. 8.Многоугольник. 9.Атрибут. 10.Курсив. 11.Линейка. 13.Распылитель. 15.Планшет. 16.Ножницы.

По вертикали: 1.Редактор. 2.Цвет. 4.Ластик. 7.Палитра. 8.Масштаб. 12.Выделение. 14.Поворот.

Вопросы по горизонтали:

3.Стартовый сайт, предлагающий пользователю доступ к информационным ресурсам в форме каталогов, новостей и обзоров.
6.Устройство для вывода информации на печать.
8.Важнейшая характеристика машинной памяти.
10.Комплекс операций, производимых над информацией в ЭВМ.
12.Одна из операций ЭВМ.
14.Определенное количество информации, имеющее имя и хранящееся в долговременной памяти.
16.Операция преобразования знаков или групп знаков одной знаковой системы в знаки или группы знаков другой знаковой системы.
17.Последователяность команд, которые выполняет компьютер в процессе обработки данных.
18.В программе представлена именем и служит для обращения к данным определенного типа.
20.Упорядочение записей базы данных по значениям одного из полей.
22.Величина, не изменяющаяся в ходе работы программы.

Вопросы по вертикали:

1.Обеспечивает модуляцию и демодуляцию сигнала при его передаче по телефонным линиям.
2.Двумерный массив точек, упорядоченных в строки и столбцы, который используется создания изображения на экране монитора.
4. Знак алфавита языка программирования.
5.Устройство вывода дисплея.
7.Преобразование непрерывных изображений и звука в набор дискретных значений в форме кодов.
9.Приспособление для крепления и соединения электронных элементов.
11.Является минимальным адресуемым элементом на жестком диске, который содержит несколько секторов.
13.Минимальный участок изображения, цвет которого можно задать независимым образом.
15.Алгоритмический язык высокого уровня.
18.Процесс нахождения в файле необходимой информации.
19.Объект, представляющий собой окно на экране, в котором размещаются управляющие элементы.
21.Название информации, представленной в компьютерной форме и обрабатываемой на компьютере.
23.Разъем на материнской плате компьютера, в который устанавливаются платы контрольных устройств (например, видеоадаптер) и дополнительных устройств.

Ответы на кроссворд:

По горизонтали: 3.Портал. 6.Принтер. 8.Емкость. 10.Обработка. 12.Сцепление. 14.Файл. 16.Кодирование. 17.Программа. 18.Переменная. 20.Сортировка. 22.Константа.

По вертикали: 1.Модем. 2.Растр. 4.Цифра. 5.Экран. 7.Дискретизация. 9.Плата. 11.Кластер. 13.Пиксель. 15.Паскаль. 18.Поиск. 19.Форма. 21.Данное.23.Слот.

Автор проекта Байсултанова Ф.М.
По вопросам, связанным с этим веб-узлом, обращайтесь по адресу

Память для серверов и систем хранения по функциональному устройству можно разделить на два основных вида: внутреннюю (первичную) и внешнюю (вторичную).

Классификация памяти компьютера

  • К первичной памяти относится память, располагающаяся непосредственно на главной плате или навесных платах (картах) внутри устройства.
  • Ко вторичной памяти относятся различного вида внешние накопители: накопители на жестких дисках HDD (Hard Disk Drive), твердотельные накопители SSD (Solid State Drive). Они также расположены внутри системного блока, но выполняют роль внешних носителей информации. А также ко вторичной памяти можно отнести различного рода накопители, подключаемые к компьютеру через разъем, и конструктивно с ним раздельные: компакт-диски (магнитные и оптические), которые в последнее время практически вытеснены USB-флешками. SSD-память также называют часто флэш-памятью (flash).

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

Часто под словом «память» подразумевают только первичную оперативную память, выполненную на полупроводниковых микросхемах. Она подразделяется на два основных вида: нестираемую (non-volatile) и стираемую (volatile).

  • Постоянное запоминающее устройство ПЗУ, нестираемая память или ROM (Read-Only Memory). Она выполняет роль хранилища программ, которые записываются на более-менее длительный период и, в общем, перезаписи не подлежат. Они могут сохранять информацию длительное время, практически на весь срок службы компьютера. Это может быть, например, BIOS (Basic Input/Output System), в которой хранится небольшая программа по запуску основных систем сервера при его включении. Сейчас микросхемы ПЗУ можно «перепрошивать», но подобные операции производятся, нечасто, и выполняются, как правило, квалифицированным персоналом.
  • Оперативное запоминающее устройство ОЗУ, стираемая память, RAM (Random Access Memory). Это быстродействующая память, в которую загружаются рабочие программы из внешних накопителей для исполнения процессором. ОЗУ работает очень быстро, операции чтения-записи не требуют много энергии, но и информация в ней пропадает после отключения питания, и кроме того, ее приходится постоянно обновлять, примерно 100 раз в секунду.

RAM бывают двух основных видов: статические (SRAM) и динамические (DRAM). В серверах сейчас для оперативной памяти используется DRAM различных типов, а SRAM используется для кэширования данных процессора.

Память класса СХД

Правда в последнее время эта стройная иерархия стала немного нарушаться под воздействием процессов разработки новых типов памяти, что привело к постепенному сближению SSD и RAM. Быстродействие SSD повышается и приближается к DRAM, энергопотребление SSD снижается и также приближается к DRAM. Это привело к созданию нового класса памяти: SCM (Storage Class Memory), что можно перевести как «память класса СХД». Хотя можно и наоборот: «СХД-класс памяти».

SCM (Storage Class Memory), «память класса СХД»

Такая память занимает промежуточное место между RAM и внешними накопителями SSD/HDD.

Первичная память

Первичная (внутренняя) память подразделяется на два вида: статическую SRAM (Static Random Access Memory) и динамическую DRAM (Dynamic Random Access Memory).

Иногда к первичной памяти относят и SSD (Flash), поскольку как отмечалось выше, она стала выполнять обязанности первичной. Однако эти виды памяти имеют комплиментарные .

характеристики. Поэтому DRAM используется для оперативной памяти сервера, а SSD в большинстве случаев используется для кэширования в системах хранения данных.

Каждая из этих технологически близких видов памяти имеет свои недостатки.

Flash-память обычно создается на полевых МОП-транзисторах (металл-окисел-полупроводник) или MOSFET (metal-oxide-semiconductor field-effect transistor). Они имеют т. н. плавающий затвор FG (floating gate), в котором на достаточно долгое время сохраняется заряд, количество которого определяет бит информации. Этот затвор изолируется от истока (source) и стока (drain) транзистора слоями окисла металла.

Структура полевых МОП-транзисторов

Запись и стирание информации в такой структуре требует приложения высокого напряжения к затвору (до 20 В). Процесс изменения заряда в затворе относительно медленный и связан с возникновением ошибок при передаче через диэлектрик (окисел). Именно этим вызвано ограничение на количество циклов перезаписи в SSD, что является их недостатком перед HDD, где количество циклов перезаписи магнитного диполя практически не ограничено. С другой стороны, чтобы прочитать информацию, высокое напряжение не требуется, нужно только проверить состояние проводимости диффузного канала. Такой метод называется неразрушающим считыванием (non-destructive read), поскольку на заряд в затворе он практически не влияет.

По сравнению с SSD все виды битовых операций в DRAM производятся сравнительно быстро, поэтому такая память используется для загрузки рабочих приложений в сервере и во время работы процессор обращается именно к этой памяти. Однако при считывании данные из ячейки памяти DRAM исчезают. Более того, конденсаторы, хранящие заряд «бита» в ячейках DRAM, быстро разряжаются, и поэтому данные в DRAM нужно «обновлять» примерно 100 раз в секунду, посылая в ячейки «освежающие» импульсы.

SRAM – это наиболее быстрая память, имеющая лучшую сохранность данных, по сравнению с DRAM, однако, в каждой ее ячейке используется шесть транзисторов (в DRAM – один транзистор и один конденсатор). То есть SRAM занимает много места на чипе и по возможному объему она значительно проигрывает DRAM.

Поэтому все время разрабатываются и выпускаются различные вариации технологий памяти: память с ловушкой заряда CTM (Charge trap memory), память с изменением фазового состояния PCM (Phase-change memory) или PRAM, сегнетоэлектрическая память FRAM или FeRAM (ferroelectric RAM), резистивная память RRAM (resistive RAM), память с проводниковым проходом CBRAM (conductive bridge RAM), магниторезистивная память MRAM (magnetoresistive RAM), память с переносом момента спина электрона STT RAM (Spin-transfer torque RAM) и другие. Все эти виды активно разрабатываются и исследуются в ведущих мировых университетах и научных центрах, поскольку создание оптимального варианта памяти, сочетающего в себе достоинства как DRAM, так и SSD, для компьютерной отрасли очень актуально.

Позиционирование различных видов внутренней памяти по характеристикам

Разрыв между RAM и SSD

Между стираемой (volatile) памятью RAM и нестираемой (non-volatile) SSD Flash существует ощутимый разрыв по трем параметрам:

  • выносливость, максимально допустимое число циклов стирания-записи в ячейку;
  • время доступа, время считывания данных из ячейки;
  • площадь, занимаемая ячейкой на чипе микросхемы памяти.

RAM опережает флэш-память по всем этим параметрам на несколько порядков: выдерживает практически неограниченное число циклов перезаписи (особенно SRAM), информация из ячеек RAM считывается гораздо быстрее, чем Flash (хотя и она значительно быстрее, чем жесткие диски HDD), а также занимает немного места на чипе микросхемы.

Разрыв параметров между RAM и SSD флэш

Поэтому многие исследователи и разработчики поставили себе задачу создать память, которая бы заполняла этот разрыв и сочетала в себе все достоинства как RAM, так и SSD:

  • выносливость, то есть число циклов перезаписи достаточно высокое, чтобы использовать эту память в серверах дата-центров, где информация может перезаписываться на всем чипе по нескольку десятков и сотен раз за день;
  • небольшое время доступа при неразрушающем считывании;
  • небольшое напряжение импульса записи данных, то есть низкие энергозатраты;
  • сохранность информации при считывании, то есть принадлежность к классу non-volatile;
  • длительный период хранения информации, не короче, чем у SSD;
  • высокая плотность размещения ячеек на чипе.

Нестираемая память с низковольтным питанием и управлением с ячейкой на основе сохранения заряда

Судя по названию раздела, это память SSD. Однако по своим характеристикам память, разработанная совместными усилиями ученых из Университета Ланкастера, Великобритания, и Университета Кадиза, Испания, приближается к DRAM, то есть заполняет «разрыв» между стираемой и нестираемой памятью.

Структура такой памяти представляет собой чередование зон изоляции (мышьяка арсенида индия InAs) и зон полупроводимости (антимонида алюминия AlSb), которые формируются на подложке антимонида галлия (GaSb). Эти зоны формируют резонансный барьер с туннельным эффектом.

Ячейка памяти с резонансно туннельным барьером

На рисунке 6 (a) показана обобщенная структура ячейки памяти, напоминающая разновидность полевого КМОП-транзистора с управляющим и плавающими затворами.

На рис. 6 (b) показана структура слоев эпитаксии с указанием толщины и выполняемой функции слоев.

На рис. 6 (с) показано фото электронного микроскопа, на котором видны относительные толщины слоев. Три полоски сверху – это многослойная структура резонансно-туннельного барьера, определяющего уникальные свойства такой ячейки памяти.

Как и в памяти SSD-флэш, заряд сохраняется в плавающем затворе FG. Однако изолирующих слоев из окислов металлов, как в МОП-транзисторе, здесь нет. Вместо этого используется т. н. 6.1-ангстремовое семейство (6.1 Å family): InAs, GaSb и AlSb, покрывающее большой диапазон энергетических уровней разрыва и других свойств полупроводников. Поэтому полупроводниковая структура больше напоминает транзистор с мобильными электронами на высоких энергетических уровнях HEMT (high-electron mobility transistor), чем классический МОП-транзистор (MOSFET).

Канал проводимости формируется из арсенида индия, который не содержит легирующих добавок ни для «дырок», ни для дополнительных электронов на высоких орбитах. Однак, канал проводимости антимонида галлия GaSb легирован примесями n-типа для небольшого избытка свободных электронов. Проводимость канала InAs определяется электронами в нем, которые имеют более высокую мобильность и плотность (вследствие легирования), чем «дырки» в подложке GaSb.

Внутренний слой плавающего затвора FG InAs изолирован от канала InAs барьером антимонида алюминия AlSb толщиной 15 нм. Квантовые ямы (quantum wells, QW) с тремя барьерами AlSb дают эффект резонансного туннелирования между плавающим затвором FG и управляющим затвором SG, выполненным из легированного электронами InAs. Поэтому электроны в плавающем затворе FG изолированы несколькими слоями AlSb и могут хранить заряд при комнатной температуре в течение 10 14 лет.

Это дает возможность преодолеть наибольший недостаток SSD перед DRAM – ограниченное число циклов перезаписи ячеек, поскольку заряд в плавающем затворе изолирован очень надежно, и для его изменения не требуется большое напряжение, поскольку изменение заряда происходит за счет резонансного туннелирования.

Кроме свойства сохранения заряда (non-volatility) такая ячейка не требует много энергии для переключения состояния между 0 и 1. По результатам измерений эта энергия примерно в 60 раз меньше, чем для обычных модулей флэш-памяти. И по данному показателю эта память также приближается к DRAM. При размерах плавающего затвора 10×10 мкм для переключения состояния требуется энергии примерно 2×10 −12 Дж. Если размеры ячейки уменьшить до размеров 20 нм, что меньше, чем DRAM в 100 раз, потребуется энергия всего лишь 10 −17 Дж. Это меньше, чем даже у SRAM.

Однако очевидным недостатком такого типа памяти является сложность высокопрецизионного производства, что скажется на стоимости.

Технология 3D XPoint для SCM

Несколько лет назад компании Intel и Micron решили объединить усилия, чтобы разработать память, которая заполняет разрыв между оперативной и постоянной памятью и обеспечивает сближение их характеристик, и дали возможность использовать последнюю в качестве оперативной. Такая память получила название Storage Class Memory (SCM).

Обычная флэш-память (USB) производится на базе технологии NAND, использующейся в обычных флешках, картах памяти для фотоаппаратов, навигаторах и пр. Затем по такой технологии стали производить твердотельные накопители SSD для компьютеров, объединяя несколько флэш-модулей в массив RAID. Вначале накопители SSD производились по технологии ячеек SLC (Single Level Cell), хранящих 1 бит. Затем появились MLC-накопители (Multiple Level Cell) с хранением 2 битов в ячейке, TLC с тремя битами и, наконец, QLC с четырьмя битами в ячейке памяти.

В 2015 году корпорации Intel и Micron предложили альтернативу NAND – технологию 3D XPoint («Три ди кросс пойнт»). Производство планировалось на совместном предприятии IM Flash Technologies. Накопители Intel производятся по этой технологией под маркой Optane, а накопители Micron – под маркой QuantX («Квант икс»).

Принцип работы 3D XPoint никогда не раскрывался подробно, согласно соглашению между Intel и Micron. Компании ограничивались заявлениями, что уникальные свойства 3D XPoint обусловлены «множеством свойств материалов» (букв. bulk material properties). Из картинок, гуляющих по интернету, видно только, что это многослойная структура.

Одна из картинок, иллюстрирующих устройство 3D XPoint, но не дающая достаточного представления о принципе ее работы

Однако в июле 2018 года Intel и Micron сообщили о прекращении совместной работы над 3D XPoint. В октябре 2018 года в ходе судебного разбирательства о разделе интеллектуальной и недвижимой собственности Intel предоставила Micron право выкупа СП IM Flash, что она и сделала в начале 2019 года. В начале 2020 года партнеры подписали соглашение о том, что Micron продолжит выпускать память 3D XPoint и поставлять ее Intel.

Однако в 2020 году судебное разбирательство продолжилось и компания Micron была обвинена в незаконном прекращении выплаты лицензионных отчислений за патенты, благодаря которым появилась память 3D XPoint. В октябре 2020 года суд также объявил Intel, что она не имеет прав интеллектуальной собственности на продукт 3D XPoint. Выяснилось, что долго скрываемый принцип работы ячейки 3D XPoint заключается в эффекте обратимого изменения фазового состояния вещества. То есть это память типа PRAM (Phase-change Random Access Memory), разработанная другой компанией. С точки зрения американского суда получается, что Intel и Micron пытались мошеннически завладеть правами на данную разработку.

Суд выяснил, что принцип памяти PRAM, который по его мнению, лег в основу 3D XPoint, был опубликован около 60 лет назад американским ученым Стэнфордом Овшинским (Stanford Ovshinsky), который зарегистрировал патент на ячейку памяти под названием Ovonic от имени компании Ovonyx, наследником которой стала компания Energy Conversion Devices (ECD). Лицензия на память Ovonic приобреталась и другими компаниями, в т. ч. Intel и Micron.

Затем, вследствие ряда причин, компания ECD обанкротилась, и для ее ликвидации в 2012 году была создана трастовая компания ECDL Trust. Однако в том же 2012 году ECD продала акции Ovonyx компании Micron, которая в 2015 году стала ее владельцем. С 2012 года и до анонса памяти 3D XPoint, компаниями Micron и Intel был совершен ряд манипуляций, направленных на то, чтобы прекратить выплачивать компании ECD лицензионные отчисления и стать собственниками технологии под названием 3D XPoint.

Конечно, это решение суда не остановит производство, но и вряд ли приведет к снижению цен на накопители 3D XPoint, которые стоят относительно дорого. Чем закончится эта мутная история, пока не ясно.

TL;DR: Вводная статья с описанием разных вариантов хранения данных. Будут рассмотрены принципы, описаны преимущества и недостатки, а также предпочтительные варианты использования.


Зачем это все?

Хранение данных — одно из важнейших направлений развития компьютеров, возникшее после появления энергонезависимых запоминающих устройств. Системы хранения данных разных масштабов применяются повсеместно: в банках, магазинах, предприятиях. По мере роста требований к хранимым данным растет сложность хранилищ данных.

Надежно хранить данные в больших объемах, а также выдерживать отказы физических носителей — весьма интересная и сложная инженерная задача.

Хранение данных

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

По способу подключения есть следующие варианты:

  • Внутреннее. Сюда относятся классическое подключение дисков в компьютерах, накопители данных устанавливаются непосредственно в том же корпусе, где и будут использоваться. Типовые шины для подключения — SATA, SAS, из устаревших — IDE, SCSI.



подключение дисков в сервере

  • Внешнее. Подразумевается подключение накопителей с использованием некоторой внешней шины, например FC, SAS, IB, либо с использованием высокоскоростных сетевых карт.



дисковая полка, подключаемая по FC

По типу используемых накопителей возможно выделить:

  • Дисковые. Предельно простой и вероятно наиболее распространенный вариант до сих пор, в качестве накопителей используются жесткие диски
  • Ленточные. В качестве накопителей используются запоминающие устройства с носителем на магнитной ленте. Наиболее частое применение — организация резервного копирования.
  • Flash. В качестве накопителей применяются твердотельные диски, они же SSD. Наиболее перспективный и быстрый способ организации хранилищ, по емкости SSD уже фактически сравнялись с жесткими дисками (местами и более емкие). Однако по стоимости хранения они все еще дороже.
  • Гибридные. Совмещающие в одной системе как жесткие диски, так и SSD. Являются промежуточным вариантом, совмещающим достоинства и недостатки дисковых и flash хранилищ.

Если рассматривать форму хранения данных, то явно выделяются следующие:

  • Файлы (именованные области данных). Наиболее популярный тип хранения данных — структура подразумевает хранение данных, одинаковое для пользователя и для накопителя.
  • Блоки. Одинаковые по размеру области, при этом структура данных задается пользователем. Характерной особенностью является оптимизация скорости доступа за счет отсутствия слоя преобразования блоки-файлы, присутствующего в предыдущем способе.
  • Объекты. Данные хранятся в плоской файловой структуре в виде объектов с метаданными.


По реализации достаточно сложно провести четкие границы, однако можно отметить:

  • аппаратные, например RAID и HBA контроллеры, специализированные СХД.



RAID контроллер от компании Fujitsu

  • Программные. Например реализации RAID, включая файловые системы (например, BtrFS), специализированные сетевые файловые системы (NFS) и протоколы (iSCSI), а также SDS



пример организации LVM с шифрованием и избыточностью в виртуальной машине Linux в облаке Azure

Давайте рассмотрим более детально некоторые технологии, их достоинства и недостатки.

Direct Attached Storage — это исторически первый вариант подключения носителей, применяемый до сих пор. Накопитель, с точки зрения компьютера, в котором он установлен, используется монопольно, обращение с накопителем происходит поблочно, обеспечивая максимальную скорость обмена данными с накопителем с минимальными задержками. Также это наиболее дешевый вариант организации системы хранения данных, однако не лишенный своих недостатков. К примеру если нужно организовать хранение данных предприятия на нескольких серверах, то такой способ организации не позволяет совместное использование дисков разных серверов между собой, так что система хранения данных будет не оптимальной: некоторые сервера будут испытывать недостаток дискового пространства, другие же — не будут полностью его утилизировать:

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

Storage area network, она же сеть хранения данных, является технологией организации системы хранения данных с использованием выделенной сети, позволяя таким образом подключать диски к серверам с использованием специализированного оборудования. Так решается вопрос с утилизацией дискового пространства серверами, а также устраняются точки отказа, неизбежно присутствующие в системах хранения данных на основе DAS. Сеть хранения данных чаще всего использует технологию Fibre Channel, однако явной привязки к технологии передачи данных — нет. Накопители используются в блочном режиме, для общения с накопителями используются протоколы SCSI и NVMe, инкапсулируемые в кадры FC, либо в стандартные пакеты TCP, например в случае использования SAN на основе iSCSI.


Давайте разберем более детально устройство SAN, для этого логически разделим ее на две важных части, сервера с HBA и дисковые полки, как оконечные устройства, а также коммутаторы (в больших системах — маршрутизаторы) и кабели, как средства построения сети. HBA — специализированный контроллер, размещаемый в сервере, подключаемом к SAN. Через этот контроллер сервер будет «видеть» диски, размещаемые в дисковых полках. Сервера и дисковые полки не обязательно должны размещаться рядом, хотя для достижения высокой производительности и малых задержек это рекомендуется. Сервера и полки подключаются к коммутатору, который организует общую среду передачи данных. Коммутаторы могут также соединяться с собой с помощью межкоммутаторных соединений, совокупность всех коммутаторов и их соединений называется фабрикой. Есть разные варианты реализации фабрики, я не буду тут останавливаться подробно. Для отказоустойчивости рекомендуется подключать минимум две фабрики к каждому HBA в сервере (иногда ставят несколько HBA) и к каждой дисковой полке, чтобы коммутаторы не стали точкой отказа SAN.

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

Network attached storage, или сетевое файловое хранилище, представляет дисковые ресурсы в виде файлов (или объектов) с использованием сетевых протоколов, например NFS, SMB и прочих. Принципиально базируется на DAS, но ключевым отличием является предоставление общего файлового доступа. Так как работа ведется по сети — сама система хранения может быть сколько угодно далеко от потребителей (в разумных пределах разумеется), но это же является и недостатком в случае организации на предприятиях или в датацентрах, поскольку для работы утилизируется полоса пропускания основной сети — что, однако, может быть нивелировано с использованием выделенных сетевых карт для доступа к NAS. Также по сравнению с SAN упрощается работа клиентов, поскольку сервер NAS берет на себя все вопросы по общему доступу и т.п.


Unified storage

Универсальные системы, позволяющие совмещать в себе как функции NAS так и SAN. Чаще всего по реализации это SAN, в которой есть возможность активировать файловый доступ к дисковому пространству. Для этого устанавливаются дополнительные сетевые карты (или используются уже существующие, если SAN построена на их основе), после чего создается файловая система на некотором блочном устройстве — и уже она раздается по сети клиентам через некоторый файловый протокол, например NFS.

Software-defined storage — программно определяемое хранилище данных, основанное на DAS, при котором дисковые подсистемы нескольких серверов логически объединяются между собой в кластер, который дает своим клиентам доступ к общему дисковому пространству.

Наиболее яркими представителями являются GlusterFS и Ceph, но также подобные вещи можно сделать и традиционными средствами (например на основе LVM2, программной реализации iSCSI и NFS).


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



Пример SDS на основе GlusterFS

Из преимуществ SDS — можно построить отказоустойчивую производительную реплицируемую систему хранения данных с использованием обычного, возможно даже устаревшего оборудования. Если убрать зависимость от основной сети, то есть добавить выделенные сетевые карты для работы SDS, то получается решение с преимуществами больших SAN\NAS, но без присущих им недостатков. Я считаю, что за подобными системами — будущее, особенно с учетом того, что быстрая сетевая инфраструктура более универсальная (ее можно использовать и для других целей), а также дешевеет гораздо быстрее, чем специализированное оборудование для построения SAN. Недостатком можно назвать увеличение сложности по сравнению с обычным NAS, а также излишней перегруженностью (нужно больше оборудования) в условиях малых систем хранения данных.

Гиперконвергентные системы

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


Облака и эфемерные хранилища

Логическим продолжением перехода на виртуализацию является запуск сервисов в облаках. В предельном случае сервисы разбиваются на функции, запускаемые по требованию (бессерверные вычисления, serverless). Важной особенностью тут является отсутствие состояния, то есть сервисы запускаются по требованию и потенциально могут быть запущены столько экземпляров приложения, сколько требуется для текущей нагрузки. Большинство поставщиков (GCP, Azure, Amazon и прочие) облачных решений предлагают также и доступ к хранилищам, включая файловые и блочные, а также объектные. Некоторые предлагают дополнительно облачные базы, так что приложение, рассчитанное на запуск в таком облаке, легко может работать с подобными системами хранения данных. Для того, чтобы все работало, достаточно оплатить вовремя эти услуги, для небольших приложений поставщики вообще предлагают бесплатное использование ресурсов в течение некоторого срока, либо вообще навсегда.


Из недостатков: могут заблокировать аккаунт, на котором все работает, что может привести к простоям в работе. Также могут быть проблемы со связностью и\или доступностью таких сервисов по сети, поскольку такие хранилища полностью зависят от корректной и правильной работы глобальной сети.

Заключение

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

Читайте также: