Всё об оперативной памяти
[+] Введение:
Оперативная память - это рабочая область для процессора компьютера. Устройства оперативной памяти иногда называют запоминающими устройствами с произвольным доступом. Это означает, что обращение к данным, хранящимся в оперативной памяти, не зависит от порядка их расположения в ней. За несколько лет определение RAM (Random Access Memory) превратилось из обычной аббревиатуры в термин, обозначающий основное рабочее пространство памяти, создаваемое микросхемами динамической оперативной памяти (Dynamic RAM - DRAM) и используемое процессором для выполнения программ. Динамическая оперативная память используется в большинстве систем оперативной памяти современных компьютеров.
[+] Быстродействие ОЗУ:
Быстродействие процессора выражается в мегагерцах(МГц), а быстродействие запоминающего устройства и его эффективность - в наносекундах(нс). Наносекунда - это одна миллиардная доля секунды, т.е. очень короткий промежуток времени. Очень легко запутаться, сравнивая, например процессор и модули памяти, быстродействие которых выражено в разных единицах. Но существует зависимость, показывающая что при увеличении тактовой частоты продолжительность цикла уменьшается, а быстродействие становится выше!
Поскольку транзисторы для каждого бита в микросхеме памяти размещены в уздах решётки, наиболее рационально адресовать каждый транзистор, используя номер столбца и строки. Сначала выбирается строка, затем столбец адресата и, наконец, пересылаются данные. Начальная установка строки и столбца адреса занимает определённое время, обычно называемое временем задержки или ожиданием. Время доступа для памяти равно времени задержки для выборки столбца и строки адреса плюс продолжительность цикла. Если длительность цикла памяти равна 7,5нс(133 МГц), а длительность цикла процессора 1нс (1ГГц), то процессор должен находится в состоянии ожидания приблизительно 6 циклов - до 17го цикла, т.е. до поступления данных. Таким образом, состояния ожидания замедляют работу процессора на столько, что он вполне может функционировать на частоте 133 МГц. Эта проблема существовала на протяжении всей компьютерной эпохи. Для успешного взаимодействия процессора с более медленной основной памятью обычно требовалось несколько уровней высокоскоростной кэш-памяти. Как правило, компьютер работает гораздо быстрее, если пропускная способность шины памяти соответствует пропускной способности шины процессора. Сравнивая скорость шины памяти с быстродействием шины процессора, можно заметить, что между этими параметрами существует определённое соответствие. Тип памяти, пропускная способность которой соответствует скорости передачи данных процессора, является наиболее приемлимым вариантом для систем, использующих соответствующий процессор. Если скорость шины памяти равняется частоте шины процессора, быстродействие памяти в такой системе будет оптимальным.
[+] Контроль чётности и коды коррекции ошибок (ECC):
Ошибки при хранении информации в памяти неизбежны. Они обычно классифицируются как отказы и нерегулярные ошибки(сбои). Если нормально функционирующая микросхема вследствие, например, физического повреждения начинает работать неправильно, то всё происходящее и называется постоянным отказом. Чтобы устранить этот тип отказа, обычно требуется заменить некоторую часть аппаратных средств памяти.
Другой, более коварный тип отказа - нерегулярная ошибка(сбой). Это непостоянный отказ, который не происходит при повторении условий функционирования или через регулярные интервалы.
Приблизительно 20 лет назад сотрудники Intel установили, что причиной сбоев являются альфа-частицы. Поскольку альфа-частицы не могут проникнуть даже через тонкий лист бумаги, выяснилось, что их источником служит вещество, используемое в полупроводниках. В настоящее время производители памяти почти полностью устранили источники альфа-частиц. И многи стали думать, что проверка чётности не нужна вовсе.
Сегодня самая главная причина нерегулярных ошибок - космические лучи. Поскольку они имеют очень большую проникающую способность, от них практически нельзя защититься с помощью экранирования. Эксперимент, проверяющий степень влияния космических лучей на появление ошибок в работе микросхем, показал, что соотношение "сигнал-ошибка" для некоторых модулей составил 5950 единиц интенсивности отказов на миллиард часов наработки для каждой микросхемы. В среднестатистическом компьютере это означало бы появление программной ошибки памяти примерно каждые шесть месяцев. в серверных системах - одна или более ошибок каждый месяц!
Хотя космические лучи и радиация является причиной большинства программных ошибок памяти, существуют и другие факторы:
1. Скачки в энергопотреблении или на шум на линии. Причиной может быть неисправный блок питания или настенная розетка.
2. Использование неверного типа или параметра быстродействия памяти. Тип памяти должен поддерживаться конкретным набором микросхем и обладать определённой этим набором скоростью доступа.
3. Радиочастотная интерференция. Связана с расположением радиопередатчиков рядом с компьютером, что иногда приводит к генерерованию паразитных электрических сигналов в монтажных соединениях и схемах компьютера. Имейте в виду, что беспроводные сети, мыши и клавиатуры увеличивают риск появления радиочастотной интерференции.
4. Статические разряды. Вызывают моментальные скачки в энергоснабжени, что может повлиять на целостность данных.
5. Ошибка синхронизации. Не поступившие своевременно данные могут стать причиной появления программных ошибок. Зачастую причина кроется в неверных параметрах BIOS, оперативной памяти, быстродействие которой ниже, чем требуется системой, "разогнанных" процессорах и прочих системных компонентах.
В основном для повышения отказоустойчивости в современных компьютерах применяются следующие методы:
1. Контроль чётности.
2. Коды коррекции ошибок(ECC).
Система без контроля чётности вообще не обеспечивают отказоустойчивости данных. Единственная причина, по которой они используются, - их минимальная базовая стоимость. При этом, в отличие от других технологий(ECC и контроль чётности), не требуется дополнительная оперативная память.
Контроль чётности - это один из стандартов, введённых IBM, в соответствии с которым информация в банках памяти хранится фрагментами по девять битов, причём восемь из них предназначены собственно для данных, а девятый является битом чётности. Использование девятого бита позволяет схемам управления памятью на аппаратном уровне контролировать целостность каждого байта данных. Технология контроля чётности не позволяет исправлять системные ошибки, однако даёт возможность их обнаружить пользователю компьютера, что имеет следующие преимущества:
1. Контроль чётности оберегает от последствий проведения неверных вычислений на базе некорректных данных.
2. Контроль чётности точно указывает на источник возникновения ошибок, помогая разобраться с проблемой и улучшая степень эксплуатационной надёжности компьютера.
Коды коррекции ошибок(ECC) позволяют не только обнаружить ошибку, но и исправить её в одном разряде. Для использования кодов коррекции ошибок необходим контроллер памяти, вычисляющий контрольные разряды при операции записи в память. При чтении из памяти такой контроллер сравнивает прочитанные и вычисленные значения контрольных разрядов и при необходимости исправляет испорченный бит(или биты). Память с кодом ECC предназначена для серверов, рабочих станций или приложений, для которых последствия потенциальных ошибок памяти менее желательны, чем дополнительные затраты на приобретение добавочных модулей памяти и вычислительные затраты на коррекцию ошибок.
[+] SDRAM:
Это тип динамической оперативной памяти. работа которой синхронизируется с шиной памяти. SDRAM передаёт информацию в высокоскоростных пакетах, использующих высокоскоростной синхронизированный интерфейс. SDRAM позволяет избежать использования большинства циклов ожидания, необходимых при работе асинхронной DRAM, поскольку сигналы, по которым работает память такого типа, синхронизтрованы с тактовым генератором системной платы. Схема синхронизации пакетного доступа SDRAM выглядит так: 5-1-1-1, т.е. четыре операции чтения завершаются за восемь циклов системной шины.
Память DDR(Double Data Rate - двойная скорость передачи данных) - это ещё более усовершенствованный стандарт SDRAM, при использовании которого скорость передачи данных удваивается. Это достигается не за счёт удвоения тактовой частоты, а за счёт передачи данных дважды за один цикл: первый раз в начале цикла, а второй - в конце, причём используются те же самые частоты и синхронизирующие сигналы.
Память стандарта DDR получила поддержку на рынке графических плат и затем стала основным стандартом для современных ПК. К настоящему времени DDR SDRAM поддерживается основными производителями процессоров, наборов микросхем системной логики и модулей оперативной памяти. Память DDR SDRAM впервые появилась в 200 году, но лишь в 2001 году получили распространение поддерживающие этот стандарт системные платы и наборы микросхем. Модули DDR реализованы на базе новой архитектуры со 184 контактными выводами.
Поставляемые модули памяти DDR SDRAM отличаются своим быстродействием, пропускной способностью и обычно работают при напряжении 2,5В. Характеристики различных модулей памяти DDR SDRAM приведены в таблице:
Стандарт модуля | Тип микросхемы | Частота шины, МГц | Количество циклов данных за такт | Скорость шины, млн циклов в секунду | Ширина шины, байт | Пропускная способность, Мбайт/с |
PC2100 | DDR 266 | 133 | 2 | 266 | 8 | 2133 |
PC2700 | DDR 333 | 166 | 2 | 333 | 8 | 2667 |
PC3200 | DDR 400 | 200 | 2 | 400 | 8 | 3200 |
PC4300 | DDR 533 | 266 | 2 | 533 | 8 | 4266 |
Члены организации JEDEC в течение нескольких лет работали над спецификацией DDR2, которая постепенно приобреталареальные очертания. Производство микросхем и модулей памяти DDR2 началось в середине 2003 года, а наборы микросхем системной логики и соответствующие системные платы, поддерживающие DDR2, появились в первой половине 2004 года. Память DDR2 SDRAM представляет собой более быстродействующую версию стандартной памяти DDR SDRAM - большая пропускная способность достигается за счёт использования дифференциальных пар сигнальных контактов, обеспечивающих улучшенную передачу сигналов и устранение проблем с сигнальными шумами/интерференцией. Предполагалось, что DDR2 обеспечит учетверенную скорость передачи данных, однако финальные образцы предоставляют лишь удвоенную скорость передачи, а модифицированный метод передачи сигналов позволяет достичь более высокой производительности. Максимальная частота памяти DDr достигает 533МГц, в то время как рабочая частота модулей памяти DDR2 начинается с 400МГц и доходит до 1333МГц. В таблице представлены различные типы модулей DDR2 и значения их пропускной способности:
Стандарт модуля | Тип микросхемы | Частота шины, МГц | Количество циклов данных за такт | Скорость шины, млн циклов в секунду | Ширина шины, байт | Пропускная способность, Мбайт/с |
PC2 3200 | DDR2 400 | 200 | 2 | 400 | 8 | 3200 |
PC2 4300 | DDR2 533 | 266 | 2 | 533 | 8 | 4266 |
PC2 5400 | DDR2 667 | 333 | 2 | 667 | 8 | 5333 |
PC2 6400 | DDR2 800 | 400 | 2 | 800 | 8 | 6400 |
Кроме более высокого быстродействия и пропусной способности, память стандарта DDR2 обладает уменьшенным по сравнению с памятью DDR напряжением - 1,8В, благодаря чему они выделяют меньше тепла. Модули DDR2 имеют 240 контактных выводов.
Память DDR3 SDRAM представляет собой новое поколение памяти DDR, идущей на смену нынешнего поколения DDR2 SDRAM. Архитектура современной динамической памяти DRAM перешагнула этапы одиночной и двойной скорости передачи данных, и теперь, на этапе DDR3, мы можем говорить о поконтактной пиковой производительности до 1,6 Гбит/с на сигнальный контакт для DDR3 (100 Мбит/с на контакт у SDRAM). При сохранении основного строения архитектуры, ключевым изменениям подверглись цепи предварительной выборки данных (prefetch) и дизайн шин I/O. Говоря упрощённо, в случае DDR3 каждая операция чтения или записи означает доступ к восьми группам данных (словам) DDR3 DRAM, которые, в свою очередь, с помощью двух различных опорных генераторов мультиплексируются по контактам I/O с частотой, в четыре раза превышающей тактовую частоту.
Среди основных преимуществ нового стандарта, прежде всего, стоит отметить меньшее энергопотребление, примерно на 40% чем у ходовых образцов модулей DDR2. Основной причиной экономии энергопотребления называют использование нового поколения чипов памяти DDR3, выпуск которых налажен у большинства производителей с соблюдением норм 90 нм техпроцесса. Это позволяет снизить рабочие напряжения чипов – до 1,5 В у DDR3, что ниже 1,8 В у DDR2 или 2,5 В у DDR; плюс, дополнительно снизить рабочие токи за счёт использования транзисторов с двумя затворами для снижения токов утечки. На практике это приведёт к тому, что, к примеру, у модулей DDR3-1066, значительно превышающих по производительности модули DDR2-800 и на 15% потребляющих меньше в спящем режиме, энергопотребление будет сравнимо с модулями DDR2-667.
Основные особенности архитектуры чипов DDR3 SDRAM таковы:
1. Появление контакта асинхронного сброса (RESET).
2. Поддержка компенсации System Level Flight Time.
3. "Зеркальная" цоколёвка чипов с удобным расположением контактов для сборки модуля DIMM (On-DIMM Mirror friendly DRAM ballout).
4. Появление скоростного буфера CWL (CAS Write Latency).
5. Внутрикристальный модуль калибровки I/O.
6. Калибровка READ и WRITE.
7. Типичные (ожидаемые) маркировки чипов в зависимости от скорости: DDR3-800, DDR3-1066, DDR3-1333, DDR3-1600.
Основные особенности модулей DDR3:
1. "Сетевая" Fly-by топология командной/адресной/управляющей шины с внутримодульной (On-DIMM) терминацией.
2. Прецизионные внешние резисторы (ZQ resistors) в цепях калибровки.
Производительность модулей памяти DDR3 в перспективе должна значительно превысить возможности нынешнего поколения памяти DDR2 – хотя бы потому, что теоретически эффективные частоты DDR3 будут располагаться в диапазоне 800 МГц – 1600 МГц (при тактовых частотах 400 МГц – 800 МГц). В то время как у DDR2 эффективные рабочие частоты составляют 400 МГц - 1066 МГц (тактовые частоты 200 МГц - 533 МГц), а у DDR – и вовсе 200 МГц - 600 МГц (100 МГц - 300 МГц). Помимо этого, память DDR3 обладает 8-битным буфером предварительной выборки, в то время как у нынешней памяти DDR2 он 4-битный, а у DDR и вовсе был 2-битный. Буфер предварительной выборки (prefetch buffer), надо отметить, достаточно важный элемент современных модулей памяти, поскольку он отвечает за кэширование данных перед тем, как они будут востребованы. Таким образом, предварительная 8-битная выборка DDR3 позволяет говорить о работе I/O шин модуля на тактовой частоте, в 8 превышающей тактовую частоту. Второй причиной роста производительности DDR3 можно смело назвать новую схемотехнику динамической внутрикристальной терминации (Dynamic On-Die Termination), калибровка которой производится в процессе инициализации для достижения оптимального взаимодействия памяти и системы. Преимуществами DDR3 по сравнению с DDR2 можно назвать более высокие тактовые частоты – до 1600 МГц, рост производительности при меньшем энергопотреблении (соответственно, более продолжительную работу ноутбуков от батарей), а также улучшенный термодизайн. Минусом DDR3 против DDR2 можно назвать более высокую латентность.
Модули памяти DDR3 DIMM для настольных ПК будут обладать 240-контактной структурой, привычной нам по модулям DDR2; однако физической совместимости не будет благодаря различному расположению ключей DIMM. Ещё на стадии тестирования стандарта DDR3 производители работали с чипами ёмкостью 512 Мбит и создавали 1 Гб модули; теоретически ёмкость модулей DDR3 может достигать 8 Гбит. Типичная ёмкость модулей памяти DDR3 DIMM по мере роста популярности составит 1 Гб – 4 Гб, теоретически – до 32 Гб.
Индустрия в целом готова к появлению DDR3, множество производителей чипов и памяти уже объявили о валидации своих изделий у Intel и готовности к массовому производству. Компания AMD, в числе других лидеров компьютерной индустрии, объявила о поддержке и планах перехода на память DDR3, однако лишь в отдалённой перспективе. Уже достоверно известно, что интегрированные контроллеры памяти процессоров AMD с рабочим названием Barcelona будут поддерживать модули DDR2-1066. Модули DDR2-1066 сейчас проходят процедуру стандартизации в организации JEDEC, и AMD планирует именно с помощью продления жизни DDR2 отсрочить переход на DDR3.