Организация памяти. Лекция 8

Содержание

Слайд 2

Память
Основной единицей хранения данных в памяти является двоичный разряд - бит.
Набор

Память Основной единицей хранения данных в памяти является двоичный разряд - бит.
бит объединяется в ячейку памяти – байт
Байты объединяются в слова
16 – разрядное слово (двойное слово -2 байта)
32 – разрядное слово (4 байта)
64 – разрядное слово (8 байт)
Каждая ячейка имеет номер, который называется адресом.

Слайд 3

Память

Память выполняет три операции:
а) хранение информации;
б) запись информации;
в) чтение информации.

Память Память выполняет три операции: а) хранение информации; б) запись информации; в) чтение информации.

Слайд 4

Характеристики памяти 

Емкость памяти - определяет максимальное количество хранимой в памяти информации

Характеристики памяти Емкость памяти - определяет максимальное количество хранимой в памяти информации
(в битах, байтах, килобайтах, мегабайтах, гигабайтах, терабайтах и т.д. )        
Время доступа к памяти     Время доступа при записи / чтении складывается из времени поиска ячейки памяти по заданному адресу и времени записи/чтения в ячейку.
tобращ.зап=tпоиска+tзаписи
tобращ.чтен=tпоиска+tчтения

Слайд 5

Характеристики памяти 

Пропускная способность шины памяти (Bandwidth)
Количество данных, переданных памятью по шине памяти

Характеристики памяти Пропускная способность шины памяти (Bandwidth) Количество данных, переданных памятью по
за единицу времени (КБ, МБ, ГБ /сек.)
Стоимость памяти - стоимостью хранения одного бита информации.

Слайд 6

Сравнение производительности памяти и процессора

Сравнение производительности памяти и процессора

Слайд 7

Организация микросхем памяти

Организация микросхем памяти

Слайд 8

Байт ориентированная память

Матрица памяти (прямоугольная)
Ячейки выбираются построчно

Байт ориентированная память Матрица памяти (прямоугольная) Ячейки выбираются построчно

Слайд 9

Бит/байт ориентированная память (квадратная)

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

Бит/байт ориентированная память (квадратная) Ячейка выбирается на пересечении строки и столбца Для
выводов по одним и тем линиям адреса сначала подается адрес строки, который дешифрируется по сигналу RAS (row address strobe), а потом адрес столбца, дешифрируется по сигналу CAS (column address strobe - строб адреса столбца) .
Данные считываются по линии столбцов

Ячейка может хранить
один или несколько бит

Слайд 10

Многопортовая память
RD1 – данные считанные по адресу А1
RD2 – данные считанные по

Многопортовая память RD1 – данные считанные по адресу А1 RD2 – данные
адресу А2
WD3 – данные записываемые по адресу А3

Слайд 11

Типы памяти

Статическая память (СОЗУ); 
Динамическая память (ДОЗУ);
Энергонезависимая память :
Однократно программируемая;
Многократно программируемая память;
Память на

Типы памяти Статическая память (СОЗУ); Динамическая память (ДОЗУ); Энергонезависимая память : Однократно
жестких дисках;
Память на оптических дисках.

Слайд 12

Иерархия памяти

Задержка в регистрах процессора зависит от тактовой частоты

Иерархия памяти Задержка в регистрах процессора зависит от тактовой частоты

Слайд 13

Регистры х8086

Регистры х8086

Слайд 14

Регистры процессора

Работают на частоте процессора
В качестве запоминающего элемента используются триггеры с количеством

Регистры процессора Работают на частоте процессора В качестве запоминающего элемента используются триггеры
транзисторов от 7 до 20
Регистры располагается ближе к ядру процессора, поэтому работает быстрее кэша.
Время переключения от 2 до 500 Пксек

Слайд 15

Площадь и задержки

Площадь и задержки

Слайд 16

Статическая память - СОЗУ
Элемент – асинхронный RS-тиггер - защелка
Содержит 6 транзисторов

Статическая память - СОЗУ Элемент – асинхронный RS-тиггер - защелка Содержит 6 транзисторов

Слайд 17

КЭШ

Один раз прочитать большой блок из медленной оперативной
памяти в кэш, а

КЭШ Один раз прочитать большой блок из медленной оперативной памяти в кэш,
потом много раз обращаться к быстрому кэшу.

Слайд 18

КЭШ

Кэш должен предсказать, какие данные понадобятся процессору, и выбирать их из оперативной памяти

КЭШ Кэш должен предсказать, какие данные понадобятся процессору, и выбирать их из

Для предсказания кэш использует временную и пространственную локальность
Временная локальность: процессор, вероятно, еще раз обратится к тем данным, которые он недавно использовал поэтому эти данные переписываются из ОЗУ в кэш
Пространственная локальность: при обращении процессора к каким либо данным ему, вероятно, понадобятся и расположенные рядом данные .
Поэтому, читая одно слово данных из памяти, он заодно читает и группу соседних слов.
Строка кэша - группа слов считываемых в кэш за одно обращение ОП.

Слайд 19

КЭШ

Кэш разбит на наборы (Set), каждый из которых состоит из одной или

КЭШ Кэш разбит на наборы (Set), каждый из которых состоит из одной
нескольких строк кэша.
Взаимосвязь между адресом данных в оперативной памяти и адресом этих данных в кэше называется отображением.
Каждый адрес памяти всегда отображается в один и тот же набор кэша.
Кэш-память классифицируется по числу строк в наборе.
Кэш прямого отображения (англ.: direct mapped cache) каждый набор содержит только одну строку
Наборно-ассоциативный кэш с N секциями - каждый набор состоит из N строк.
Если С – это емкость памяти, а b - длина строки кэша, то количество строк кэша В = С/b
Полностью ассоциативный кэш имеет только один набор (S=1), и данные могут оказаться в любой из B строк этого набора.

Слайд 20

Кэш прямого отображения

Кэш прямого отображения

Слайд 21

КЭШ прямого отображения

В кэш-памяти прямого отображения каждый набор содержит только одну строку

КЭШ прямого отображения В кэш-памяти прямого отображения каждый набор содержит только одну
кэша
Оперативная память условно поделена на блоки, равные длине строки кэша, а кэш память также поделена на наборы такого же размера.
Для кэша из 8-ми слов первые 8 блоков памяти отображаются в 8 наборов кэша, потом вторые 8 наборов ОП отображаются в те же наборы кэша
При этом может быть ситуация когда несколько блоков памяти отображаются в один и тот же набор кэша.

Слайд 22

Формат адреса обращения к кэш
Set – номер набора
Qffset – номер байта внутри

Формат адреса обращения к кэш Set – номер набора Qffset – номер
набора
Tag – Признак (оставшаяся старшая часть адреса)
служит для определения какой из возможных адресов блоков ОП отображен в кэш.
Заносится при записи строки кэша.

Слайд 23

Схема выборки данных

Запись в наборе состоит из: Строка кэша + Тэг

Схема выборки данных Запись в наборе состоит из: Строка кэша + Тэг
+ V (61 бит)
V- бит присутствия (достоверности) блока в кэше
Старшая часть адреса обращения сравнивается с признаком, хранимым вместе со строкой кэша

Слайд 24

Пример работы кэша
Всего в цикле 15 обращений к памяти по адресам 0х4,

Пример работы кэша Всего в цикле 15 обращений к памяти по адресам
0хС, 0х8.
При первом проходе цикла данных в кэше нет - 3 промаха
Данные подгружаются в кэш и в остальные проходы процессор обращается в кэш
Процент промахов 3/15 = 20%

Слайд 25

Пример работы кэша
Две команды обращаются в один и тот же набор кэша
100%

Пример работы кэша Две команды обращаются в один и тот же набор кэша 100% промахов
промахов

Слайд 26

Многосекционный наборно-ассоциативный кэш
Кэш состоит из 4-х наборов, каждый из которых вмещает две

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

Слайд 27

Полностью ассоциативный кэш
Кэш состоит из 8 секций
Адрес памяти может быть отображен в

Полностью ассоциативный кэш Кэш состоит из 8 секций Адрес памяти может быть
строку любой из этих секций
Минимальное количество конфликтов
Большие аппаратные затраты

Слайд 28

Запись в кэш

Сквозная запись (write-through)
Данные, записываемые в кэш, одновременно записываются и в

Запись в кэш Сквозная запись (write-through) Данные, записываемые в кэш, одновременно записываются
оперативную память
Недостаток - большее количество операций записи в память
Отложенная запись (write-back).
У каждой строки есть бит изменения (D, от англ. dirty). Если в строку производилась запись, то этот бит равен 1, в противном случае он равен 0.
Измененные строки записываются обратно в оперативную память только тогда, когда они вытесняются из кэша.
Используется чаще

Слайд 29

Многоуровневые кэши
Чем больше кэш, тем он медленнее
Используют многоуровневые кэши

Многоуровневые кэши Чем больше кэш, тем он медленнее Используют многоуровневые кэши

Слайд 30

Ассоциативная память

Ассоциативная память

Слайд 31

Динамическая память

Динамическая память

Слайд 32

Динамическая память

Матрица запоминающих элементов (конденсаторов)
Низкая стоимость. (один транзистор)
Низкое быстродействие (конденсатор надо периодически

Динамическая память Матрица запоминающих элементов (конденсаторов) Низкая стоимость. (один транзистор) Низкое быстродействие
подзаряжать специальными циклами регенерации. Во время подзарядки обращение к ячейке не возможно).
При чтении конденсатор так же разряжается

Слайд 33

Организация ДОЗУ

Сначала адрес строки дешифрируется по сигналу RAS (row address strobe), а

Организация ДОЗУ Сначала адрес строки дешифрируется по сигналу RAS (row address strobe),
потом адрес столбца, дешифрируется по сигналу CAS (column address strobe - строб адреса столбца) .
Данные считываются по линии столбцов

Слайд 34

Структура динамической памяти

Структура динамической памяти

Слайд 35

Эффективная частота и пропускная способность

Эффективная частота = 2 * базовая частота потому,

Эффективная частота и пропускная способность Эффективная частота = 2 * базовая частота
что данные передаются по внешней шине памяти по переднему и заднему фронту синхросигнала

Слайд 36

DDR3
6400Мбайт = 800*8байт(64бита внешняя шина)

DDR3 6400Мбайт = 800*8байт(64бита внешняя шина)

Слайд 37

Диаграмма работы динамической памяти

Тайминг памяти - количество тактов базовой частоты матрицы
памяти

Диаграмма работы динамической памяти Тайминг памяти - количество тактов базовой частоты матрицы
между фронтами сигналов управления памятью

Слайд 38

Основные тайминги динамической памяти

Четыре основных тайминга, :
tCL (timе of CAS Latency) -

Основные тайминги динамической памяти Четыре основных тайминга, : tCL (timе of CAS
задержка между сигналом CAS и выдачей данных (записью данных) из памяти;
-tRCD (time of RAS to CAS Delay) - задержка от импульса RAS до импульса CAS;
- tRP (timе of Row Precharge),- задержку между завершением обработки одной строки и началом обработки другой;
- tRAS (time of Active to Precharge Delay) - длительность сигнала RAS. Время задержки обработки одной строки.
Так для тайминга 10-11-10-30 DDR3 1866 время задержки выдачи данных можно определить:
Т = 1/933 = 1,07 нсек
tCL = 10* 1.07 = 10.7 нсек

Слайд 39

Тайминги динамической памяти

Идеально – все единицы.
Для памяти с большей частотой внешней шины(DDR3

Тайминги динамической памяти Идеально – все единицы. Для памяти с большей частотой
и DDR4) памяти значения таймингов будет выше.
Выбирают минимальное значение в своем типе.
Некоторые версии BIOS позволяют ручную настройку таймингов.
Если используются разные планки памяти, желательно чтобы тайминги были одинаковы.

Слайд 40

Тайминги памяти

Тайминги памяти

Слайд 41

Эволюция динамической памяти

SDRAM-(Synchronous Dynamic Random Access Memory) динамическое ОЗУ, работало в синхронном

Эволюция динамической памяти SDRAM-(Synchronous Dynamic Random Access Memory) динамическое ОЗУ, работало в
режиме с контроллером памяти.
Double Data Rate SDRAM- синхронная динамическая память с удвоенной частотой передачи данных:
Обмен данными по внешней шине по переднему и заднему фронту тактового импульса.
Разрядность внешней шины данных стала 64 бита, а внутренней (от чипа до буфера 64)

Слайд 42

Эволюция динамической памяти
Double Data Rate 2 SDRAM
Double Data Rate 3 SDRAM
Double

Эволюция динамической памяти Double Data Rate 2 SDRAM Double Data Rate 3
Data Rate 4 SDRAM
Double Data Rate 5 SDRAM -
Изменялось:
базовая частота работы чипа памяти и эффективная частота внешней шины данных
Понижение напряжения питания и энергопотребления

Слайд 44

Режимы работы ДОЗУ

Память может работать в:
одноканальном (Single Channel),
двухканальном (Dual

Режимы работы ДОЗУ Память может работать в: одноканальном (Single Channel), двухканальном (Dual
Channel),
трехканальном (Triple Channel)
четырехканальном режиме (Quad Channel).
В одноканальном режиме запись данных происходит последовательно в каждый модуль. Хорошо подходит в случае одной планки памяти.
В многоканальных режимах запись данных происходит параллельно во все модули, что приводит к значительному увеличению быстродействия подсистемы памяти.
Главным условием работы двухканального режима является наличие 2 или 4 планок памяти.
Для трехканального режима необходимо 3 или 6 планок памяти, а для четырехканального 4 или 8 планок.

Слайд 45

Лучшие производители

Kingston
Crucial
Samsung
Transcend
Hynix
Доля их брака составляет всего 0,6%

Лучшие производители Kingston Crucial Samsung Transcend Hynix Доля их брака составляет всего 0,6%

Слайд 46

Постоянная память

Постоянная память

Слайд 47

Постоянная память

 Постоянная (Энергонезависимая) память
Однократно программируемая (ROM (Read Only Memory)) только для чтения

Постоянная память Постоянная (Энергонезависимая) память Однократно программируемая (ROM (Read Only Memory)) только
Запоминающим элементом является пережигаемая плавкая перемычка или полупроводниковый диод, играющий роль разрушаемой перемычки.

Слайд 48

Многократно программируемая память

EPROM(Erasable Programmable Read Only Memory) Многократно программируемая со стиранием ультрафиолетовыми

Многократно программируемая память EPROM(Erasable Programmable Read Only Memory) Многократно программируемая со стиранием
лучами.
В EPROM в качестве перемычки используется транзистор с плавающим затвором. Для стирания матрица элементов облучается ультрафиолетовым светом, в результате заряд на затворах транзисторов стирается.
EEPROM (Electrically Erasable Programmable Read-Only Memory) многократно программируемая электрически стираемая память. В качестве элемента хранения используется транзистор с плавающим затвором.

Слайд 49

EPROM

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

EPROM Восстановление прозженных перемычек производится с помощью засветки ячеек ультрафиолетовым источником света

Слайд 50

Flash память

Flash память

Слайд 51

Полевой транзистор

Полевой транзистор

Слайд 52

Транзистор с плавающим затвором
Плавающий затвор изолирован двумя слоями диэлектрика

Транзистор с плавающим затвором Плавающий затвор изолирован двумя слоями диэлектрика

Слайд 53

Запись
При подаче на затвор более положительного напряжения чем на сток происходит перенос

Запись При подаче на затвор более положительного напряжения чем на сток происходит
части электронов через диэлектрик в область плавающего затвора

Величина заряда зависит от длительности и амплитуды
управляющего импульса записи на затворе транзистора.

Слайд 54

Стирание
При подаче на затвор более отрицательного напряжения относительно истока происходит стекание электронов

Стирание При подаче на затвор более отрицательного напряжения относительно истока происходит стекание электронов в область истока
в область истока

Слайд 55

Ячейка флэш-памяти

Операции записи и чтения приводят к разрушению(износу) и диэлектричсекого слоя и

Ячейка флэш-памяти Операции записи и чтения приводят к разрушению(износу) и диэлектричсекого слоя
его постепенной деградации.
Срок службы ячейки ограничен.

Слайд 56

Чтение нуля
На плавающем затворе заряда нет
При подаче напряжения на затвор в отсутствие

Чтение нуля На плавающем затворе заряда нет При подаче напряжения на затвор
заряда на плавающем затворе в транзисторе создается канал и начинает течь ток
Транзистор открыт – это логический ноль

Слайд 57

Чтение единицы
На плавающем затворе есть заряд
При подаче напряжения на затвор, заряд

Чтение единицы На плавающем затворе есть заряд При подаче напряжения на затвор,
на плавающем затворе компенсирует заряд на затворе, канала нет, тока нет.
Транзистор закрыт – это логическая единица

Слайд 58

NOR и NAND

NOR и NAND

Слайд 59

NOR - ячейка

NOR
При подаче напряжения чтения на линию слов транзисторы, содержащие заряд

NOR - ячейка NOR При подаче напряжения чтения на линию слов транзисторы,
на плавающем затворе, то есть хранящие «единицу», не откроются и ток не потечет. По наличию или отсутствию тока на линии бита делается вывод о значении бита.
При выборе строки (+8 Вольт подается на линию слов ):
транзистор, хранящий заряд закрыт, тока нет, на битовой линии 1
транзистор не хранящий заряд открыт ток есть и 0 вольт поступает на битовую линию
Можно получить доступ к любой конкретной ячейке

Слайд 60

NAND-ячейка

NAND
На необходимую линию слова подается напряжение чтения, а на все остальные линии

NAND-ячейка NAND На необходимую линию слова подается напряжение чтения, а на все
слова подается напряжение открытия, которое открывает транзистор вне зависимости от уровня заряда в нем.
Так как все остальные транзисторы гарантированно открыты, то наличие напряжения на битовой линии зависит только от одного транзистора, на который подано напряжение чтения:
транзистор, хранящий заряд закрыт, тока нет, на битовой линии 1
транзистор не хранящий заряд открыт ток есть и 0 вольт поступает на битовую линию
В случае с NAND несколько одиночных ячеек памяти соединены последовательно и для того, чтобы записать состояние «ноля» в одну из них, надо, чтобы все другие были открыты и пропускали ток, т.е. нельзя обратиться только к одной ячейке

Слайд 61

Архитектура NOR (параллельное включение транзисторов)

Архитектура NOR (параллельное включение транзисторов)

Слайд 62

Архитектура NAND

Архитектура NAND

Слайд 63

Архитектура NOR (параллельное включение транзисторов)

Операция стирания соответствует записи единиц во все ячейки
т.е

Архитектура NOR (параллельное включение транзисторов) Операция стирания соответствует записи единиц во все
исходное «чистое» состояние NOR памяти все единицы.

Слайд 64

Архитектура NAND (последовательное включение транзисторов)
При считывании управляющее напряжение подается на все элементы

Архитектура NAND (последовательное включение транзисторов) При считывании управляющее напряжение подается на все
выбранного столбца
Операция стирания соответствует записи нулей во все ячейки
т.е. исходное «чистое» состояние все нули

Слайд 65

Структура NAND-микросхемы

Структура NAND-микросхемы

Слайд 66

Топологии ячеек

Топологии ячеек

Слайд 67

Характеристика NOR

Достоинства NOR :
Возможность произвольного доступа к любой ячейке памяти

Характеристика NOR Достоинства NOR : Возможность произвольного доступа к любой ячейке памяти
(что позволяет использовать ее для записи и хранения программного кода,
который не требует частого перезаписывания , например, BIOS, память программ встроенных систем )
Меньшее время случайного чтения
Недостатки NOR :
Плохая масштабируемость и как следствие более высокая стоимость.
Большее время записи/стирания (чтобы стереть надо сначала обнулить, а потом перевести в исходное состояние все единицы)
Меньшее число циклов перезаписи – 100 000

Слайд 68

Характеристика NAND

Достоинства NAND:
Хорошая масштабируемость и как следствие малая стоимость.
Меньшее время записи/

Характеристика NAND Достоинства NAND: Хорошая масштабируемость и как следствие малая стоимость. Меньшее
стирания
Большее количество циклов записи стирания 1000000
Используется в устройствах хранения данных (SSD диски, флэш-память)
Недостатки NAND
Нельзя обратиться к отдельной ячейке, поэтому обращение происходит блоками.
Малое время последовательного чтения, но большое время случайного чтения

Слайд 69

Сравнение NAND и NOR

Количество циклов перезаписи 1000 000 100 000

Сравнение NAND и NOR Количество циклов перезаписи 1000 000 100 000

Слайд 70

Одноуровневые (Single Level Cell) и многоуровневые ячейки (Multi Level Cell, Three Level Cell)

Одноуровневые (Single Level Cell) и многоуровневые ячейки (Multi Level Cell, Three Level Cell)

Слайд 71

Многоуровневые ячейки 3D

Многоуровневые ячейки 3D

Слайд 72

Сравнение SLC и MLC

SLC записывают только один бит в ячейку и это

Сравнение SLC и MLC SLC записывают только один бит в ячейку и
обеспечивает до 10 раз лучшую долговечность и до 2-х раз более высокую скорость в сравнении с MLC.

Слайд 73

3D флэш память (флэш-трубки)
Технология 3D NAND позволяет увеличить плотность ячеек флэш памяти

3D флэш память (флэш-трубки) Технология 3D NAND позволяет увеличить плотность ячеек флэш памяти

Слайд 74

Операции при обращении к флэш -памяти
Возможны операции:
Стирание (ограниченное количество раз);
Запись ограниченное количество

Операции при обращении к флэш -памяти Возможны операции: Стирание (ограниченное количество раз);
раз;
чтение (бесконечное число раз);
Чтение – модификация – запись (количество раз как и при записи).
Запись возможна только в «чистое» место памяти, поэтому ей всегда предшествует операция стирания.
Операция стирания самая медленная (для повышения быстродействия операция стирания осуществляется сразу над блоком ячеек, а не над одной ячейкой).

Слайд 75

Структурная организация SSD – диска (Solid State Drive)
SCL и MCL ячейки объединяются

Структурная организация SSD – диска (Solid State Drive) SCL и MCL ячейки
в страницы по 4кб.
128 страниц объединены в блок объемом 512 КБ, а 1024 блока в массив 512 МБ
Информация записывается и читается в память страницами по 4 Кб, а стирается блоками по 512 Кб.

Слайд 76

Запись на свободный диск

Данные записываются последовательно в физические блоки порциями по 4

Запись на свободный диск Данные записываются последовательно в физические блоки порциями по
Кбайт.
При этом логический адрес записываемой страницы сопоставляется с физическим адресом,
Для соответствия между логическими и физическими адресами (LBA-PBA mapping) предназначена специальная таблица, которая размещается в оперативной памяти SSD-диска.

Слайд 77

Перезапись данных

Если производится перезапись данных, они последовательно записываются в следующие по порядку

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

Слайд 78

Запись на заполненный диск

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

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

Слайд 79

Запись на заполненный диск

Страницы с актуальными данными из выбранного блока переносятся в

Запись на заполненный диск Страницы с актуальными данными из выбранного блока переносятся
пустой или резервный блок, куда дозаписываются вновь поступившие данные.
После этого информация в «старом блоке стирается» и он становится резервным, доступным для записи.
Процедуру поиска подходящего блока с максимальным количеством неиспользуемых страниц называют сбором мусора» (Garbage Collection).

Слайд 80

Резервные блоки
Разница между двоичным и десятичным значением емкости дает резервные блоки
Так для

Резервные блоки Разница между двоичным и десятичным значением емкости дает резервные блоки
диска емкостью 160 Гб емкость резервных блоков составит 171 798 691 840 - 160 000 000 000 = 11 798 691 840 байт, или примерно 11 Гбайт
Если запас резервных блоков исчерпан, то для временного хранения перемещаемых блоков может использоваться внутренняя динамическая кэш память контроллера

Для продления срока службы SSD необходимо постоянно иметь (10 – 15)% свободного места.

Слайд 81

Механизм Wear Leveling
Wear Leveling обеспечивает равномерное использование всех ячеек памяти и

Механизм Wear Leveling Wear Leveling обеспечивает равномерное использование всех ячеек памяти и
как следствие повышает долговечность SSD. Контроллер SSD-диска отслеживает частоту использования различных блоков памяти.
Если какие ­ то блоки памяти используются реже остальных, то он принудительно повышает частоту их использования путем перезаписи этих блоков данных в другие блоки, высвобождая их для дальнейшего использования.

Слайд 82

Команда TRIMM

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

Команда TRIMM При удалении файлов операционная система лишь логически удаляет ненужные файлы.
этом физически они остаются на носителе.
В SSD это приводит к накоплению «мусора», т.к. контроллеру не известно, что файл, был помечен операционной системой как удаленный.
TRIM — это команда осуществляющая функцию передачи информации SSD о том, что файл был удален и соответствующие страницы памяти помечаются к удалению и могут применяться в процедуре Garbage Collection.

Слайд 83

Команда TRIMM

Команда TRIMM

Слайд 84

Команда TRIMM

Для работы команды TRIM необходима поддержка со стороны как ОС, так

Команда TRIMM Для работы команды TRIM необходима поддержка со стороны как ОС,
и SSD-диска.
Команда TRIM встроена в ОС начиная с Windows 7, а также в ядре Linux начиная с ревизии 2.6.28.
В операционной системе Windows 7 команда TRIM используется в таких операциях, как удаление файлов и форматирование.

Слайд 85

SSD -диск

В SSD-диска входит поле Flach – памяти, SSD-контроллер, блок динамической DRAM-
памяти

SSD -диск В SSD-диска входит поле Flach – памяти, SSD-контроллер, блок динамической DRAM- памяти

Слайд 86

Архитектура SSD - диска

Состав контроллера:
ARM – процессор. Отвечает за равномерность износа ячеек

Архитектура SSD - диска Состав контроллера: ARM – процессор. Отвечает за равномерность
в Flash, диагностику SMART, кеширование, безопасность. Error Correction (ECC) – блок контроля и коррекции ошибок ECC. Flash контроллер – включает адресацию, шину данных и контроль управления микросхемами Flash памяти. DRAM контроллер - управление DDR кэш памятью.
Преобразователь интерфейса– отвечает за интерфейс передачи данных на внешние интерфейсы SATA, SAS, PCIe, USB, Thunderbolt «удар молнии»( до 10 Гбит/сек по медному проводу и до 20 Гбит/сек при использовании оптического кабеля) замена USB/
Динамическая кэш-память для хранения таблиц размещения и занятости ячеек диска. Параллельно в ней может храниться временная информация со стираемых ячеек, при нехватке пустого места на диске.
В нем так же хранится информация о частоте и интенсивности использования каждого доступного блока на диске. Кроме того, здесь записаны адреса «мест», где невозможно осуществить запись, ввиду физического износа. Поле флэш – памяти.

Слайд 87

Кэш - память

В SSD накопителях применяется кэш память в виде энергозависимой DRAM

Кэш - память В SSD накопителях применяется кэш память в виде энергозависимой
микросхемы, наподобие как в жёстких дисках. Часть прошивки и самые часто изменяющиеся данные находятся в ней, сокращая износ энергозависимой NAND памяти.
В некоторых SSD – накопителях динамическая память может отсутствовать

Слайд 88

Характеристики SSD накпителей

Тип – внутренний, внешний, внутренний/ внешний (универсальный);
Емкость;
Форм - фактор: -

Характеристики SSD накпителей Тип – внутренний, внешний, внутренний/ внешний (универсальный); Емкость; Форм
1.8, 2.5, 3.5 дюйма
Интерфейс: SATA,SAS, PCIe, Thunderbolt и др. определяет внешнюю скорость передачи данных.
Для SATA поддержка NCQ - Native Command Queuing — аппаратная установка очередности команд) — технология, использующаяся в SATA-устройствах для повышения быстродействия
Объем буфера обмена
Объём собственной оперативной памяти накопителя
Тип NAND: памяти (SLC,MLC,TLC)
Скорость записи: скорость записи данных из контроллера SSD в флэш- память для записи.
Скорость чтения: скорость чтения данных из микросхем флэш - памяти в контроллер SSD.

Слайд 89

Характеристики SSD накпителей

Скорость случайной записи блоками определенного размера : измеряется в IOPS(

Характеристики SSD накпителей Скорость случайной записи блоками определенного размера : измеряется в
Input/Output Operations Per Second - «ай-опс») -количество операций ввода-вывода в секунду
Поддержка TRIMM
Ударостойкость при работе параметр, определяющий стойкость накопителя к падениям и сотрясениям в процессе работы. Измеряется в G — единицах перегрузки,
Наработка на отказ : гарантированное (минимальное) время безотказной работы накопителя.
Внешний карман : внешним карманом комплектуются накопители типа «внешний/внутренний» . Технически карман представляет собой оснащённый USB-коннектором корпус, в который устанавливается собственно накопитель — таким образом внутренний накопитель можно, при необходимости, использовать как внешний.

Слайд 90

Характеристики SSD накопителей

Характеристики SSD накопителей

Слайд 91

Характеристики SSD накопителей

Характеристики SSD накопителей

Слайд 92

Оптимизация работы SSD

При использовании в компьютере на SSD диск лучше установить только

Оптимизация работы SSD При использовании в компьютере на SSD диск лучше установить
ОС, а файлы в которые происходит частая перезапись разместить на HDD.
Возможный вариант зависит от операционной системы :
1) В BIOS установить режим:
AHCI (Advanced Host Controller Interface (AHCI — механизм, используемый для подключения накопителей по интерфейсу SATA, позволяющий пользоваться расширенными функциями, такими как встроенная очередность команд (NCQ).

Слайд 93

Оптимизация работы SSD

2) В реестре отключить системный кэш Prefetch и Superfetch. (Они

Оптимизация работы SSD 2) В реестре отключить системный кэш Prefetch и Superfetch.
не нужны при работе SSD накопителя. В большинстве случаев Prefetch отключается системой автоматически).
3) Отключить автоматическую дефрагментацию диска. Она уменьшает ресурс SSD накопителя. (Только для Windows 7, начиная с Windows 8 этой функции нет).
4) Отключить или оптимизировать файл подкачки (Компьютер -> Свойства -> Дополнительные параметры системы …)

Слайд 94

Оптимизация работы SSD

5)Отключить индексирование файлов SSD(в свойствах системного диска снимаем галочку с

Оптимизация работы SSD 5)Отключить индексирование файлов SSD(в свойствах системного диска снимаем галочку
параметра «Разрешить индексировать содержимое файлов на этом диске» )
6) Перенести папки TEMP с твердотельного SSD на обычный HDD диск. (В свойствах компьютера выбираем>> Дополнительные параметры системы >> Дополнительно >> Переменные среды. Ввести новый адрес для переменных сред TEMP и TMP, на жестком диске.)

Слайд 95

NVRAM (Non Volatile Random Access Memory);
Тип энергонезависимой памяти (называется также полупостоянной

NVRAM (Non Volatile Random Access Memory); Тип энергонезависимой памяти (называется также полупостоянной
памятью), в которой обеспечивается сохранение данных при отключении питания за счет маломощной встроенной батарейки.
Выполнена по технологии CMOS (Complementary Metal-Oxide-Semiconductor - комплементарный металлооксидный полупроводник или КМОП)

Слайд 96

ВИРТУАЛЬНАЯ ПАМЯТЬ

ВИРТУАЛЬНАЯ ПАМЯТЬ

Слайд 97

Типы адресов используемые процессами
Физические адреса соответствуют номерам ячеек оперативной памяти, где в

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

Транслятор присваивает командам и данным виртуальные (относительные) адреса, начиная с Некоторого постоянного адреса одинакового для всех процессов (например нулевого)

Слайд 98

Работа компилятора

Адреса команд

Адреса данных

Компилятор заменяет имя переменной на адрес ячейки памяти, где

Работа компилятора Адреса команд Адреса данных Компилятор заменяет имя переменной на адрес
она может быть расположена
Компилятор разделяет относительные адреса команд программы и
адреса данных

Слайд 99

Работа компилятора

Работа компилятора

Слайд 100

Типы адресов

Основная задача - как вычислить физический адрес

Типы адресов Основная задача - как вычислить физический адрес

Слайд 101

Виртуальное адресное пространство процесса

Виртуальное адресное пространство (ВАП) процесса - совокупность виртуальных (относительных)

Виртуальное адресное пространство процесса Виртуальное адресное пространство (ВАП) процесса - совокупность виртуальных
адресов, получаемых после трансляции программы (команды и данные) ПЛЮС диапазон виртуальных адресов, дополнительно выделяемых ОС для создания и размещения образа процесса в памяти (стек + блок управления процессом + куча + общая используемая память).

Слайд 102

Виртуальное адресное пространство процесса

Компоновщик ,при компоновке может пересчитать адреса с учетом подключаемых

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

Слайд 103

Адресное пространство процесса – 32 разряда

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

Адресное пространство процесса – 32 разряда Максимальный размер выделяемой виртуальной памяти ,
может быть выделен каждому процессу, зависит от:
Разрядности процессора
Разрядности ОС
Для 32 битных процессоров и ОС максимальный объем виртуальной памяти 4 Гб:
2 (3)Гб для каждого процесса пользователя (0x00010000 - 07FFFFFFF) 2(1)Гб для ОС (80000000 - FFFFFFFF)

Слайд 104

Адресное пространство процесса – 64 разряда

Теоретический размер адресного пространства процесса - 17

Адресное пространство процесса – 64 разряда Теоретический размер адресного пространства процесса -
миллиардов гигабайт
Реально с учетом ограничений ОС и железа 16 терабайт
8Тб для каждого процесса пользователя
8Тб для ОС

Слайд 105

Резервирование адресного пространства процесса
Происходит в три этапа
ОС выделяет (резервирует) для процесса диапазон

Резервирование адресного пространства процесса Происходит в три этапа ОС выделяет (резервирует) для
виртуальных адресов (виртуальное адресное пространство)
ОС выделяет для виртуального пространства процесса физическую память.
Во время выполнения процесса виртуальные адреса преобразуются в физические.

Слайд 106

Пример выделения регионов виртуальной памяти

ОС выделяет автоматически регионы для кода, данных,

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

Слайд 107

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

Виртуальное адресное пространство (регионы) условно поделено на блоки фиксированного

Выделение физической памяти процессу Виртуальное адресное пространство (регионы) условно поделено на блоки
размера, называемые виртуальными страницами.
Физическое адресное пространство условно поделено на точно такие по размеру блоки называемые физическими страницами.
Виртуальные и физические страницы имеют одинаковые размеры. Например 1 кБ.
Для начала выполнения процесса часть виртуальных страниц (с виртуальными адресами) загружается в соответствующие свободные физические страницы в Оперативной Памяти, а часть остается на внешнем диске в файле подкачки.
Соответствие между виртуальными и физическими страницами страницами описывается с помощью таблицы страниц (page table).
При выполнении процесса виртуальная страница может быть выгружена из физической на внешний диск, а вместо неё может быть загружена другая виртуальная страница.

Слайд 108

Виртуальные адреса для
Команд и Данных

Виртуальные адреса для Стека

Виртуальные адреса для
Кучи

Виртуальные адреса

Виртуальные адреса для Команд и Данных Виртуальные адреса для Стека Виртуальные адреса
для DLL1

DLL2

DLL(N)

ВАП

Оперативная память

Внешняя память

Проекция исполняемого файла на ВАП

Х

Х

Х

Х

Х

Х

Х

Х

Регион команд и данных Регион стека Регион кучи Регион для библиотек

Слайд 109

Виртуальная память системы

Виртуальная память системы = Размер ОП + Размер файла подкачки
Файл

Виртуальная память системы Виртуальная память системы = Размер ОП + Размер файла
подкачки – специальная «популярная» область на жестком диске, время доступа к которой для ОС меньше чем время доступа к другим областям диска.
ОС временно размещает там данные на случай повторного использования.
Размер может поддерживаться автоматически либо задаваться вручную.
Общий объём виртуальной памяти, одновременно занимаемый всеми процессами, не может превысить сумму основной памяти и файла подкачки (Pagefile).

Слайд 110

Преобразование виртуального адреса в физический

Преобразование виртуального адреса в физический

Слайд 111

Преобразование виртуального адреса в физический

Физический и виртуальный адрес состоит из номера страницы

Преобразование виртуального адреса в физический Физический и виртуальный адрес состоит из номера
и смещения внутри страницы

Слайд 112

Преобразование виртуального адреса в физический

Виртуальная страница процесса (адреса команд и данных виртуальные)

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

Слайд 113

Преобразование виртуального адреса в физический

Преобразование виртуального адреса в физический

Слайд 114

Сокращение времени преобразования адреса
Преобразование происходит специальным аппаратным модулем управления памятью процессора (MMU)
Многоуровневые

Сокращение времени преобразования адреса Преобразование происходит специальным аппаратным модулем управления памятью процессора
таблицы страниц
Таблица страниц помещается в ассоциативный кэш
TLB – буффер ассоциативной трансляции (Translation lookaside buffer)

Слайд 115

Во время выполнения программы при каждом обращении к памяти виртуальные адреса

Во время выполнения программы при каждом обращении к памяти виртуальные адреса не
не выставляются напрямую на шину памяти, а предварительно поступают в диспетчер памяти (MMU, Memory Management Unit), который преобразует виртуальные адреса в адреса физической памяти.

MMU - memory management unit

Слайд 117

Многоуровневые таблицы страниц

Многоуровневые таблицы страниц
Имя файла: Организация-памяти.-Лекция-8.pptx
Количество просмотров: 39
Количество скачиваний: 0