Память типа DRAM. Оперативная память типа DRAM (динамическая оперативная память)


Динамическая оперативная память (Dynamic RAM - DRAM) используется в большинстве систем оперативной памяти современных ПК. Основное преимущество памяти этого типа состоит в том, что ее ячейки очень плотно упакованы, т.е. в небольшую микросхему можно упаковать много битов, а значит, на их основе можно организовать память большой емкости.


Ячейки памяти в микросхеме DRAM - это крошечные конденсаторы, которые удерживают заряды. Именно так (наличием или отсутствием зарядов) и кодируются биты. Проблемы, связанные с памятью этого типа, вызваны тем, что она динамическая, т.е. должна постоянно регенерироваться, так как в противном случае электрические заряды в конденсаторах памяти будут “стекать” и данные будут потеряны. Регенерация происходит, когда контроллер памяти системы берет крошечный перерыв и обращается ко всем строкам данных в микросхемах памяти. Большинство систем имеют контроллер памяти (обычно встраиваемый в набор микросхем системной платы, однако он может быть встроен и в процессор, как в процессорах Athlon 64 и Opteron), который настроен на соответствующую промышленным стандартам частоту регенерации, равную 15 мс. Это означает, что каждые 15 мс прочитываются все строки в памяти для обеспечения регенерации данных.


Регенерация памяти, к сожалению, отнимает время у процессора. Каждый цикл регенерации по длительности занимает несколько тактов центрального процессора. В старых компьютерах циклы регенерации могли занимать до 10% (или больше) процессорного времени, но в современных системах эти расходы составляют менее 1%. Некоторые системы позволяют изменить параметры регенерации с помощью программы настройки BIOS. Интервал между циклами обновления называется tREF и задается не в миллисекундах, а в тактах. Очень важно понимать, что увеличение значения интервала между циклами обновления для повышения быстродействия системы может привести к случайным произвольным ошибкам.


Произвольная ошибка - это ошибка обработки данных, не связанная с дефектом микросхемы памяти. В большинстве случаев надежнее придерживаться рекомендуемой или заданной по умолчанию частоты регенерации. Поскольку затраты на регенерацию в современных компьютерах составляют менее 1%, изменение частоты регенерации оказывает незначительное влияние на характеристики компьютера. Одним из наиболее приемлемых вариантов является использование для синхронизации памяти значений по умолчанию или автоматических настроек, заданных с помощью программы Setup BIOS. Большинство современных систем не позволяют изменять заданную синхронизацию памяти, постоянно используя автоматически установленные параметры.


В устройствах DRAM для хранения одного бита используются только один транзистор и пара конденсаторов, поэтому они более вместительны, чем микросхемы других типов памяти. В настоящее время уже выпускаются микросхемы динамической оперативной памяти емкостью 4 Гбайт и больше. Это означает, что подобные микросхемы содержат более миллиарда транзисторов! А ведь процессор Core 2 Duo имеет только 230 млн. транзисторов. Откуда такая разница? Дело в том, что в микросхеме памяти все транзисторы и конденсаторы размещаются последовательно, обычно в узлах квадратной решетки, в виде очень простых, периодически повторяющихся структур, в отличие от процессора, представляющего собой более сложную схему различных структур, не имеющую четкой организации.


Транзистор каждого одноразрядного регистра DRAM используется для чтения состояния смежного конденсатора. Если конденсатор заряжен, в ячейке записана единица; если заряда нет - записан нуль. Заряды в крошечных конденсаторах все время стекают, поэтому память должна постоянно регенерироваться. Даже мгновенное прерывание подачи питания или какой-нибудь сбой в циклах регенерации приводит к потере заряда в ячейке DRAM, а, следовательно, и к потере данных. В работающей системе это приводит к появлению “синего экрана смерти”, глобальным отказам системы защиты, повреждению файлов или к полному отказу системы.


Типы ОЗУ и производительность

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


Наносекунда - это одна миллиардная доля секунды, т.е. очень короткий промежуток времени. В частности, скорость света в вакууме равна 299 792 км/с, т.е. за одну миллиардную долю секунды световой луч проходит расстояние, равное всего 29,98 см, т.е. меньше длины обычной линейки.


Быстродействие микросхем памяти и систем в целом выражается в мегагерцах (МГц), т.е. в миллионах тактов в секунду, или же в гигагерцах (ГГц), т.е. в миллиардах тактов в секунду. Современные процессоры имеют тактовую частоту от 2 до 4 ГГц, хотя гораздо большее влияние на их производительность оказывает их внутренняя архитектура (например, многоядерность).


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


К 2000 году скорость шины процессора и памяти увеличилась до 100 и даже 133 МГц (эти модули назывались PC100 и PC133 соответственно). В начале 2001 года быстродействие памяти удвоилось и стало равным 200 и 266 МГц; в 2002 году выпускались модули памяти DDR со скоростью 333 МГц, а в 2003 году - 400 и 533 МГц. В 2005 и 2006 годах рост быстродействия памяти соответствовал росту скорости шины процессора - от 667 до 800 МГц. В 2007 году скорость памяти DDR2 была доведена до 1066 МГц, и одновременно с этим была выпущена память DDR3 с такой же и более высокой частотой. В таблице ниже перечислены основные типы модулей памяти и их быстродействие.


Тип памяти Пик популярности Тип модуля Напряжение Макс. частота, МГц Одноканальная, Мбайт/с Двухканальная, Мбайт/с
FPM DRAM 1987-1995 30/72-контактный SIMM 5 В 22 177 -
EDO DRAM 1995-1998 72-контактный SIMM 5 В 33 266 -
SDR DRAM 1998-2002 168-контактный DIMM 3,3 В 133 1066 -
Rambus DRAM 2000-2002 184-контактный RIMM 2,5 В 1066 2133 4266
DDR SDRAM 2002-2005 184-контактный DIMM 2,5 В 400 3200 6400
DDR2 SDRAM 2005-2008 240-контактный DDR2 DIMM 1,8 В 1066 8533 17066
DDR3 SDRAM 2008+ 240-контактный DDR3 DIMM 1,5 В 1600 12800 25600

EDO. Extended Data Out (расширенные возможности вывода данных).

DIMM. Dual Inline Memory Module (модуль памяти с двухрядным расположением выводов).

DDR. Double Data Rate (удвоенная скорость передачи данных).

FPM. Fast Page Mode (быстрый постраничный режим).

SIMM. Single Inline Memory Module (модуль памяти с однорядным расположением выводов).

RIMM. Rambus Inline Memory Module (модуль памяти стандарта Rambus).


Быстродействие памяти

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


При установке более быстродействующих модулей памяти производительность компьютера, как правило, не повышается, поскольку система обращается к ней с прежней частотой. В системах, использующих модули DIMM и RIMM, быстродействие и прочие временные характеристики считываются из специального ПЗУ SPD, установленного на модуле. После этого контроллер памяти конфигурируется с применением этих параметров. Производительность таких систем можно повышать, устанавливая более скоростные модули памяти, вплоть до предела, поддерживаемого набором микросхем системной логики.


Чтобы акцентировать внимание на проблемах синхронизации и надежности, Intel и JEDEC создали стандарты для высокоскоростных модулей памяти, определяющие их типы, удовлетворяющие определенным уровням быстродействия. Согласно этим стандартам и выполняется классификация модулей памяти по временным характеристикам.


Основными признаками недостаточного быстродействия памяти или ее несоответствия временным характеристикам системы являются ошибки памяти и четности, а также “зависание” и неустойчивая работа системы. В этом случае тест POST также может выдать ошибки. Если точно не известно, какие модули памяти допустимы для вашей системы, свяжитесь с производителем компьютера и постарайтесь приобрести модули памяти от хорошо зарекомендовавшего себя поставщика.


Контроль четности и коды коррекции ошибок (ECC)

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


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


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


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

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


Сегодня самая главная причина нерегулярных ошибок - космические лучи. Поскольку они имеют очень большую проникающую способность, от них практически невозможно защититься с помощью экранирования. Этот тезис был подтвержден рядом исследований, проведенных компанией IBM под руководством доктора Дж.Ф. Зиглера.


Эксперимент по проверке степени влияния космических лучей на появление ошибок в работе микросхем показал, что соотношение “сигнал–ошибка” (Signal-to-Error Ratio - SER) для некоторых модулей DRAM составило 5950 единиц интенсивности отказов (Failure Units - FU) на миллиард часов наработки для каждой микросхемы. Измерения проводились в условиях, приближенных к реальным, с учетом длительности в несколько миллионов машино-часов. В среднестатистическом компьютере это означало бы появление программной ошибки памяти примерно каждые шесть месяцев. В серверных системах или мощных рабочих станциях с большим объемом установленной оперативной памяти подобная статистика указывает на одну ошибку (или даже более) в работе памяти каждый месяц! Когда тестовая система с теми же модулями DIMM была размещена в надежном убежище на глубине более 15 метров под слоем каменной породы, что полностью устраняет влияние космических лучей, программные ошибки в работе памяти вообще не были зафиксированы. Эксперимент продемонстрировал не только опасность влияния космических лучей, но и доказал, насколько эффективно устранять влияние альфа-лучей и радиоактивных примесей в оболочках модулей памяти.


Ошибки, вызванные космическими лучами, представляют большую опасность для модулей SRAM, чем для DRAM, поскольку заряд, необходимый для хранения одного бита в ячейке SRAM, гораздо меньше емкости конденсатора в DRAM. Космические лучи также представляют большую опасность для микросхем памяти с повышенной плотностью. Чем выше плотность ячеек памяти, тем выше вероятность того, что космический луч заденет такую ячейку. С ростом объема памяти увеличивается и частота ошибок.


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


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

Скачки в энергоснабжении или шум на линии. Причиной может быть неисправный блок питания или настенная розетка.

Использование памяти с некорректным типом или характеристиками. Тип памяти должен поддерживаться конкретным набором микросхем и обладать определенной этим набором скоростью доступа.

Статические разряды. Вызывают моментальные скачки в энергоснабжении, что может повлиять на целостность данных.

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

Тепловыделение. Скоростные модули памяти характеризуются более высокими рабочими температурами, чем модули устаревших типов. Первыми модулями, оснащенными теплорассеивателями, оказались модули RDRAM RIMM; сейчас теплорассеивателями оснащены многие производительные модули DDR2 и DDR3, так как это единственный способ борьбы с повышенным уровнем тепловыделения.


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

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


Системы без контроля четности вообще не обеспечивают отказоустойчивость. Единственная причина, по которой они используются, - их минимальная базовая стоимость. При этом, в отличие от других технологий, не требуется дополнительная оперативная память. Байт данных с контролем четности включает в себя 9, а не 8 бит, поэтому стоимость памяти с контролем четности выше примерно на 12,5%. Кроме того, контроллеры памяти, не требующие логических мостов для подсчета данных четности или ECC, обладают упрощенной внутренней архитектурой. Портативные системы, для которых вопрос минимального энергопотребления особенно важен, выигрывают от уменьшенного энергоснабжения памяти благодаря использованию меньшего количества микросхем DRAM. И наконец, шина данных памяти без контроля четности имеет меньшую разрядность, что выражается в сокращении количества буферов данных. Статистическая вероятность возникновения ошибок памяти в современных настольных компьютерах составляет примерно одну ошибку в несколько месяцев. При этом количество ошибок зависит от объема и типа используемой памяти.


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


Контроль четности

Это один из введенных IBM стандартов, в соответствии с которым информация в банках памяти хранится фрагментами по 9 бит, причем восемь из них (составляющих один байт) предназначены собственно для данных, а девятый является битом четности. Использование девятого бита позволяет схемам управления памятью на аппаратном уровне контролировать целостность каждого байта данных. Если обнаруживается ошибка, работа компьютера останавливается, а на экран выводится сообщение о неисправности. Если вы работаете на компьютере под управлением Windows или OS/2, то при возникновении ошибки контроля четности сообщение, возможно, не появится, а просто произойдет блокировка системы. После перезагрузки система BIOS должна идентифицировать ошибку и выдать соответствующее сообщение.


Модули SIMM и DIMM поставляются как с поддержкой битов четности, так и без нее.

Первые ПК использовали память с контролем четности для регулировки точности осуществляемых операций. Начиная с 1994 года на рынке ПК стала развиваться тревожная тенденция. Большинство компаний начали предлагать компьютеры с памятью без контроля четности и вообще без каких бы то ни было средств определения или исправления ошибок. Применение модулей SIMM без контроля четности сокращало стоимость памяти на 10–15%. В свою очередь, память с контролем четности обходилась дороже за счет применения дополнительных битов четности. Технология контроля четности не позволяет исправлять системные ошибки, однако предоставляет пользователю компьютера возможность их обнаружить, что имеет следующие преимущества:

контроль четности защищает от последствий неверных вычислений на базе некорректных данных;

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


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


Схема проверки четности

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


Рассмотрим конкретный пример (имейте в виду, что разряды в байте нумеруются с нуля, т.е. 0, 1, 2, ..., 7).

Значение бита: 1 0 1 1 0 0 1 1 0

В данном случае общее число единичных битов данных нечетное (5), поэтому бит четности должен быть равен нулю.


Рассмотрим еще один пример.

Разряд данных: 0 1 2 3 4 5 6 7 бит чётности

Значение бита: 0 0 1 1 0 0 1 1 1

В этом примере общее число единичных битов данных четное (4), поэтому бит четности должен быть равен единице, чтобы количество единиц во всех девяти разрядах было нечетным.

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

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


Еще несколько лет назад, когда память была дорогой, некоторые компании выпускали модули SIMM с фиктивными микросхемами проверки четности. Вместо того чтобы хранить биты четности для каждого байта памяти, эти микросхемы генерировали всегда корректный бит дополнения. Таким образом, когда система пыталась записать бит четности, он попросту отбрасывался, а при считывании байта всегда подставлялся “нужный” бит четности. В результате система всегда получала информацию о корректной работе памяти, хотя на самом деле все могло быть далеко не так.


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


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


Код коррекции ошибок

Коды коррекции ошибок (Error Correcting Code - ECC) позволяют не только обнаружить ошибку, но и исправить ее в одном разряде. Поэтому компьютер, в котором используются подобные коды, в случае ошибки в одном разряде может работать без прерывания, причем данные не будут искажены. Коды коррекции ошибок в большинстве ПК позволяют только обнаруживать, но не исправлять ошибки в двух разрядах. В то же время приблизительно 98% сбоев памяти вызвано именно ошибкой в одном разряде, т.е. она успешно исправляется с помощью данного типа кодов. Данный тип ECC получил название SEC_DED (эта аббревиатура расшифровывается как “одноразрядная коррекция, двухразрядное обнаружение ошибок”).


В кодах коррекции ошибок этого типа для каждых 32 бит требуется дополнительно семь контрольных разрядов при 4-байтовой и восемь - при 8-байтовой организации (64-разрядные процессоры Athlon/Pentium). Реализация кода коррекции ошибок при 4-байтовой организации, естественно, дороже обычной проверки четности, но при 8-байтовой организации их стоимости равны, поскольку требуют одного и того же количества дополнительных разрядов.


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


В большинстве случаев сбой памяти происходит в одном разряде, и потому такие ошибки успешно исправляются с помощью кода коррекции ошибок. Использование отказоустойчивой памяти обеспечивает высокую надежность компьютера. Память с кодом ECC предназначена для серверов, рабочих станций или приложений, в которых потенциальная стоимость ошибки вычислений значительно превышает дополнительные средства, вкладываемые в оборудование, а также временные затраты системы. Если данные имеют особое значение, и компьютеры применяются для решения важных задач, без памяти ECC не обойтись. По сути, ни один уважающий себя системный инженер не будет использовать сервер, даже самый неприхотливый, без памяти ECC.


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


Вывод

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

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

Михаил Тычков aka Hard

Доброго времени суток.

Написать эту статью меня побудил частенько задаваемый мне вопрос: «Влияет ли на скорость работы системы увеличение объема оперативной памяти?». Не спешите с ответом! Давайте-ка разберемся, что из себя представляет оперативная память DRAM – Dynamic Random Access Memory (вообще следует отметить, что DRAM - это очень старый тип микросхем оперативной памяти, который сейчас уже давно не применяется, так что в данной статье понятие DRAM - просто оперативная память различного типа). По-русски это будет звучать так: динамическая память с произвольным порядком выборки. Что она из себя представляет?

Начнем из далека. Минимальной единицей информации при хранении или передаче данных в компьютере является бит. Каждый бит может быть в двух состояниях: включен (да, 1) или выключен (нет, 0). Любой объем информации в конечном итоге состоит из включенных и выключенных битов. Таким образом, что бы сохранить или передать какой либо объем данных, необходимо сохранить или передать каждый бит, не зависимо от его состояния, этих данных.

Для хранения битов информации в оперативной памяти есть ячейки. Ячейки состоят из конденсаторов и транзисторов. Вот примерная и упрощенная схема ячейки DRAM:

Каждая ячейка способна хранить только один бит. Если конденсатор ячейки заряжен, то это означает, что бит включен, если разряжен – выключен. Если необходимо запомнить один байт данных, то понадобится 8 ячеек (1 байт = 8 битам). Ячейки расположены в матрицах и каждая из них имеет свой адрес, состоящий из номера строки и номера столбца.

Теперь рассмотрим, как происходит чтение. Сначала на все входы подается сигнал RAS (Row Address Strobe) – это адрес строки. После этого, все данные из этой строки записываются в буфер. Затем на регистр подается сигнал CAS (Column Address Strobe) – это сигнал столбца и происходит выбор бита с соответствующим адресом. Этот бит и подается на выход. Но во время считывания данные в ячейках считанной строки разрушаются и их необходимо перезаписать взяв из буфера.

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

Следует учесть то, что матрицы с ячейками расположены вот таким вот образом:

Это означает, что за один раз будет считан не один бит, а несколько. Если параллельно расположено 8 матриц, то сразу считан будет один байт. Это называется разрядностью. Количество линий, по которым будут передаваться данные от (или на) параллельных матриц, определяется разрядностью шины ввода/вывода микросхемы.
Говоря о работе DRAM необходимо учитывать один момент. Фишка заключается в том, что конденсаторы не могут бесконечно долго хранить заряд и он в конце концов «стекает»:(. Поэтому конденсаторы необходимо перезаряжать. Операция перезарядки называется Refresh или регенерацией. Происходит эта операция примерно каждые 2 мс и порой занимает до 10 % (а то и больше) рабочего времени процессора.

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

Оперативной памятью управляет контроллер, который находится в чипсете материнской платы, а точнее в той его части, которая называется North Bridge.

А теперь поняв как работает оперативная память, разберемся, зачем же она вообще нужна. После процессора, оперативную память можно считать самым быстродействующим устройством. Поэтому основной обмен данными и происходит между этими двумя девайсами. Вся информация в персональном компьютере хранится на жестком диске. При включении компа в ОЗУ (Оперативное Запоминающее Устройство) с винта записываются драйвера, специальные программы и элементы операционной системы. Затем туда будут записаны те программы – приложения, которые Вы будете запускать. При закрытии этих программ они будут стерты из ОЗУ. Данные, записанные в оперативной памяти, передаются в CPU (Central Processing Unit), там обрабатываются и записываются обратно. И так постоянно: дали команду процессору взять биты по таким то адресам, как то их там обработать и вернуть на место или записать на новое – он так и сделал.

Все это хорошо, до тех пор, пока ячеек ОЗУ хватает. А если нет? Тогда в работу вступает файл подкачки. Этот файл расположен на жестком диске и туда записывается все, что не влезает в ячейки оперативной памяти. Поскольку быстродействие винта значительно ниже ОЗУ, то работа файла подкачки сильно замедляет работу системы. Кроме этого, это снижает долговечность самого жесткого диска.

Вот теперь мы и подошли к главному вопросу: «Влияет ли на скорость работы системы увеличение объема оперативной памяти?». Есть одна аксиома: увеличение объема памяти не приводит к увеличению ее быстродействия . Для тех кто не понял – изменение объема памяти (не важно, увеличение это или уменьшение) ни как не повлияет на ее работу. А вот если рассматривать работу системы, то тут дело другое. В том случае, если Вам хватает объема оперативной памяти, то увеличение объема не приведет к увеличению скорости работы системы. Если же ячеек ОЗУ не хватает, то увеличение их количества (проще говоря добавление новой или замене старой на новую с большим объемом линейки памяти) приведет к ускорению работы системы.

Объясню вышесказанное на простом и понятном примере. Есть некий молодой человек у которого имеется пустой ящик из под пива. В нем 20 пустых ячеек. Каждый день он покупал по 15 бутылок пива. Для этого он брал свой ящик, шел в магазин, покупал пиво и раскладывал бутылки по ячейкам. Потом, как-то этот человек приобрел еще один пустой ящик из под пива и ходил в магазин уже с двумя, но все равно, как покупал раньше 15 бутылок, так и продолжал это делать. Как Вы думаете, увеличилось ли быстродействие в данной операции? Думаю нет. Теперь рассмотрим тот же случай, но молодой человек каждый день покупал не 15, а 25 бутылок пива. В этом случае ему приходилось ходить два раза и покупка второго ящика заметно бы увеличило быстродействие, так как отпала бы необходимость во втором походе в магазин.

Так же и с оперативной памятью, если Вам хватает ее ячеек для хранения информации, то добавление новых не приведет к увеличению быстродействия. Но с другой стороны, справедлив вопрос: «А сколько на сегодняшний день необходимо оперативной памяти?». Все зависит от того, чем Вы занимаетесь на своем компьютере. Если Вы только лишь рассматриваете голых теток в инете да читаете мои статьи:) и при этом используете Windows 98 SE, то 64 Мбайт хватит. А если Ваш любимый мастдай - Windows XP и Вы большой поклонник серьезных трехмерных игр, то боюсь тут и 256 «метров» маловато будет! Короче, каждый должен решить для себя сам.

Лекция №4 Система памяти
План:
Введение
1. Классификация типов памяти.
2. Память ROM, SRAM, DRAM.


Введение

Память – это свойство, которым обладает живое существо или устройство.

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

В персональных компьютерах «памятью» часто называют один из её видов - динамическая память с произвольным доступом (DRAM), - которая в настоящее время используется в качестве ОЗУ персонального компьютера.
Работоспособность всей компьютерной системы зависит не только от оперативной памяти, но и от подсистемы памяти в целом.

Подсистема памяти охватывает:
оперативную память;
кэш-память процессора;
контроллер памяти;
шины данных и команд.
Рост требуемых объемов оперативной (системной) памяти происходит практически непрерывно по мере развития технологии аппаратных средств и программных продуктов. Сегодня повсеместным стандартом для оперативной памяти становится объем 4 ГБ.

1. Классификация типов памяти

Следует различать классификацию памяти и классификацию запоминающих устройств (ЗУ). Первая классифицирует память по функциональности, вторая же - по технической реализации. Здесь рассматривается первая - таким образом, в неё попадают как аппаратные виды памяти (реализуемые на ЗУ), так и структуры данных, реализуемые в большинстве случаев программно.
Доступные операции над данными в памяти
Память только для чтения (read-only memory, ROM)
Память для чтения/записи
Память на программируемых и перепрограммируемых ПЗУ (ППЗУ и ПППЗУ) не имеет общепринятого места в этой классификации. Её относят либо к подвиду памяти «только для чтения», либо выделяют в отдельный вид.
Также предлагается относить память к тому или иному виду по характерной частоте её перезаписи на практике: к RAM относить виды, в которых информация часто меняется в процессе работы, а к ROM - предназначенные для хранения относительно неизменных данных.

Энергозависимость
Энергонезависимая память (англ. nonvolatile storage) - память, реализованная ЗУ, записи в которых не стираются при снятии электропитания. К этому типу памяти относятся все виды памяти на ПЗУ и ППЗУ;
Энергозависимая память (англ. volatile storage) - память, реализованная ЗУ, записи в которых стираются при снятии электропитания. К этому типу памяти относятся память на ОЗУ, кэш-память.
— Статическая память (англ. static storage) - энергозависимая память, которой для хранения информации достаточно сохранения питающего напряжения;
— Динамическая память (англ. dynamic storage) - энергозависимая памяти, в которой информация со временем разрушается (деградирует), и, кроме подачи электропитания, необходимо производить её периодическое восстановление (регенерацию).

Метод доступа
Последовательный доступ (англ. sequential access memory, SAM) - ячейки памяти выбираются (считываются) последовательно, одна за другой, в очерёдности их расположения. Вариант такой памяти - стековая память.
Произвольный доступ (англ. random access memory, RAM) - вычислительное устройство может обратиться к произвольной ячейке памяти по любому адресу.

Назначение
Буферная память (англ. buffer storage) - память, предназначенная для временного хранения данных при обмене ими между различными устройствами или программами.
Временная (промежуточная) память (англ. temporary (intermediate) storage) - память для хранения промежуточных результатов обработки.
Кеш-память (англ. cache memory) - часть архитектуры устройства или программного обеспечения, осуществляющая хранение часто используемых данных для предоставления их в более быстрый доступ, нежели кешируемая память.
Корректирующая память (англ. patch memory) - часть памяти ЭВМ, предназначенная для хранения адресов неисправных ячеек основной памяти. Также используются термины «relocation table» и «remap table».
Управляющая память (англ. control storage) - память, содержащая управляющие программы или микропрограммы. Обычно реализуется в виде ПЗУ.
Разделяемая память или память коллективного доступа (англ. shared memory, shared access memory) - память, доступная одновременно нескольким пользователям, процессам или процессорам.

Организация адресного пространства
Реальная или физическая память (англ. real (physical) memory) - память, способ адресации которой соответствует физическому расположению её данных;
Виртуальная память (англ. virtual memory) - память, способ адресации которой не отражает физического расположения её данных;
Оверлейная память (англ. overlayable storage) - память, в которой присутствует несколько областей с одинаковыми адресами, из которых в каждый момент доступна только одна.

Удалённость и доступность для процессора
Первичная память доступна процессору без какого-либо обращения к внешним устройствам. Это регистры процессора(процессорная или регистровая память) и кэш процессора (если есть);
Вторичная память доступна процессору путём прямой адресацией через шину адреса (Адресуемая память) или через другие выводы. Таким образом доступна основная память (память, предназначенная для хранения текущих данных и выполняемых программ) и порты ввода-вывода (специальные адреса, через обращение к которым реализовано взаимодействие с прочей аппаратурой);
Третичная память доступна только путём нетривиальной последовательности действий. Сюда входят все виды внешней памяти - доступной через устройства ввода-вывода. Взаимодействие с третичной памятью ведётся по определённым правилам (протоколам) и требует присутствия в памяти соответствующих программ. Программы, обеспечивающие минимально необходимое взаимодействие, помещаются в ПЗУ, входящее во вторичную память (у PC-совместимых ПК - это ПЗУ BIOS);
Положение структур данных, расположенных в основной памяти, в этой классификации неоднозначно. Как правило, их вообще в неё не включают, выполняя классификацию с привязкой к традиционно используемым видам ЗУ.

Управление процессором
Непосредственно управляемая (оперативно доступная) память (англ. on-line storage) - память, непосредственно доступная в данный момент времени центральному процессору.
Автономная память.

Организация хранения данных и алгоритмы доступа к ним
Повторяет классификацию структур данных.
Адресуемая память - адресация осуществляется по местоположению данных.
Ассоциативная память (англ. associative memory, content-addressable memory, CAM) - адресация осуществляется по содержанию данных, а не по их местоположению.
Магазинная (стековая) память (англ. pushdown storage) - реализация стека.
Матричная память (англ. matrix storage) - ячейки памяти расположены так, что доступ к ним осуществляется по двум или более координатам.
Объектная память (англ. object storage) - память, система управления которой ориентирована на хранение объектов. При этом каждый объект характеризуется типом и размером записи.
Семантическая память (англ. semantic storage) - данные размещаются и списываются в

Физические принципы
Эта классификация повторяет соответствующую классификацию ЗУ.

Разновидности магнитной памяти
Память на магнитной ленте (англ. magnetic tape memory) - представляет собой пластиковую узкую ленту с магнитным покрытием и механизм с блоком головок записи-воспроизведения (БГЗВ). Лента намотана на бобину, и последовательно протягивается лентопротяжным механизмом (ЛПМ) возле БГЗВ. Запись производится перемагничиванием частиц магнитного слоя ленты при прохождении их возле зазора головки записи. Считывание записанной информации происходит при прохождении намагниченного ранее участка плёнки возле зазора головки воспроизведения.
Память на магнитных дисках (англ. magnetic disk memory) - представляет собой круглый пластиковый диск с магнитным покрытием и механизм с БГЗВ. Данные при этом наносятся радиально, при вращении диска вокруг своей оси и радиальном сдвиге БГЗВ на шаг головки. Запись производится перемагничиванием частиц магнитного слоя диска при прохождении их возле зазора головки записи. Считывание записанной информации происходит при прохождении намагниченного ранее участка возле зазора головки воспроизведения.
Память на магнитной проволоке (англ. plated wire memory) Использовалась в магнитофонах до магнитной ленты. В настоящее время по этому принципу конструируется большинство авиационных т. н. «чёрных ящиков» - данный носитель имеет наиболее высокую устойчивость к внешним воздействиям и высокую сохранность даже при повреждениях в аварийных ситуациях.
Ферритовая память (англ. core storage) - ячейка представляет собой ферритовый сердечник, изменение состояния которого (перемагничивание) происходит при пропускании тока через намотанный на него проводник. В настоящее имеет ограниченное применение, в основном в военной сфере.

Разновидности оптической памяти
Фазоинверсная память (англ. Phase Change Rewritable storage, PCR) - оптическая память, в которой рабочий (отражающий) слой выполнен из полимерного вещества, способного при нагреве менять фазовое состояние (кристаллическое↔аморфное) и отражающие характеристики в зависимости от режима нагрева. Применяется в перезаписываемых оптических дисках (CD-RW, DVD-RW).

2. Память ROM, SRAM, DRAM.

В современных компьютерах используются запоминающие устройства трех основных типов:
ROM (Read Only Memory). Постоянное запоминающее устройство — ПЗУ, неспособное выполнять операцию записи данных.
DRAM (Dynamic Random Access Memory). Динамическое запоминающее устройство с произвольным порядком выборки.
SRAM (Static RAM). Статическая оперативная память.

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

Рисунок ROM-память

ROM и оперативная память — не противоположные понятия. На самом деле ROM представляет собой часть оперативной памяти системы. Другими словами, часть адресного пространства оперативной памяти отводится для ROM. Это необходимо для хранения программного обеспечения, которое позволяет загрузить операционную систему.
Основной код BIOS содержится в микросхеме ROM на системной плате, но на платах адаптеров также имеются аналогичные микросхемы. Они содержат вспомогательные подпрограммы BIOS и драйверы, необходимые для конкретной платы, особенно для тех плат, которые должны быть активизированы на раннем этапе начальной загрузки, например видеоадаптер. Платы, не нуждающиеся в драйверах на раннем этапе начальной загрузки, обычно не имеют ROM, потому что их драйверы могут быть загружены с жесткого диска позже — в процессе начальной загрузки.
Рисунок ROM-память

В настоящее время в большинстве систем используется одна из форм Flash-памяти, которая называется электрически стираемой программируемой постоянной памятью (Electrically Erasable Programmable Readonly Memory — EEPROM). Flash-память является по-настоящему энергонезависимой и перезаписываемой, она позволяет пользователям легко модифицировать ROM, программно-аппаратные средства системных плат и других компонентов (таких, как видеоадаптеры, платы SCSI, периферийные устройства и т.п.).

SRAM(кэш-память)
Существует тип памяти, совершенно отличный от других, — статическая оперативная память (Static RAM — SRAM). Она названа так потому, что, в отличие от динамической оперативной памяти (DRAM), для сохранения ее содержимого не требуется периодической регенерации. Это не единственное ее преимущество. SRAM имеет более высокое быстродействие, чем DRAM, и может работать на той же частоте, что и современные процессоры.

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

Рисунок Схема ячейки статической памяти

Транзистор – трехэлектродный полупроводниковый прибор для усиления, генерирования и преобразования электрических колебаний, выполненный на основе монокристаллического полупроводника.
Триггер — логический элемент с двумя устойчивыми состояниями равновесия, предназначенное для записи и хранения информации. Такое устройство сохраняет свое состояние, до тех пор, пока подается питание. Время срабатывания триггера составляет в современных микросхемах не более 2нс (Pentium 4 3,6 GHz = 0.28нс; Athlon XP 2,2GHz = 0.41нс). SRAM различается по принципу работы.

Существует три типа:
1. Async SRAM (Asynchronous Static Random Access Memory) — асинхронная статическая память с произвольным порядком выборки;
2. SyncBurst SRAM (Synchronous Burst Random Access Memory) – синхронная пакетная статическая память с произвольным порядком выборки;
3. PipBurst SRAM (Pipelined Burst Random Access Memory) – конвейерная пакетная статическая память с произвольным порядком выборки;
Async SRAM – это устаревший тип памяти, асинхронный интерфейс которой схож с интерфейсом DRAM и включает в себя шины адреса, данных и управления.
SyncBurst SRAM – этот тип памяти синхронизирован с системной шиной и лучше всего подходит для выполнения пакетных операций. Ну а интерфейс PipBurst SRAM схож с интерфейсом SyncBurst SRAM, но позволяет получать данные без тактов ожидания.

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

Время доступа SRAM 2 нс. означает, что такая память может работать синхронно с процессорами на частоте 500 МГц или выше. Однако для хранения каждого бита в конструкции SRAM используется кластер из шести транзисторов. Использование транзисторов без каких либо конденсаторов означает, что нет необходимости в регенерации. (Ведь если нет никаких конденсаторов, то и заряды не теряются.) Пока подается питание, SRAM будет помнить то, что сохранено.

По сравнению с DRAM быстродействие SRAM намного выше, но плотность ее гораздо ниже, а цена довольно высока. Более низкая плотность означает, что микросхемы SRAM имеют большие габариты, хотя их информационная емкость намного меньше. Большое число транзисторов и кластеризованное их размещение не только увеличивает габариты микросхем SRAM, но и значительно повышает стоимость технологического процесса по сравнению с аналогичными параметрами для микросхем DRAM. Например, емкость модуля DRAM может равняться 64 Мбайт или больше, в то время как емкость модуля SRAM приблизительно того же размера составляет только 2 Мбайт, причем их стоимость будет одинаковой. Таким образом, габариты SRAM в среднем в 30 раз превышают размер DRAM, то же самое можно сказать и о стоимости. Все это не позволяет использовать память типа SRAM в качестве оперативной памяти в персональных компьютерах.

Память типа DRAM
DRAM (Dynamic Random Access Memory) - тип энергозависимой полупроводниковой памяти с произвольным доступом (RAM), также запоминающее устройство, наиболее широко используемое в качестве ОЗУ современных компьютеров.

Физически память DRAM состоит из ячеек, созданных в полупроводниковом материале, в каждой из которых можно хранить определённый объём данных, от 1 до 4 бит. Совокупность ячеек такой памяти образуют условный «прямоугольник», состоящий из определённого количества строк и столбцов. Один такой «прямоугольник» называется страницей, а совокупность страниц называется банком. Весь набор ячеек условно делится на несколько областей.

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

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

Ячейки памяти в микросхеме DRAM — это крошечные конденсаторы, которые удерживают заряды. Именно так (наличием или отсутствием зарядов) и кодируются биты. Проблемы, связанные с памятью этого типа, вызваны тем, что она динамическая, т.е. должна постоянно регенерироваться, так как в противном случае электрические заряды в конденсаторах памяти будут “стекать” и данные будут потеряны. Регенерация происходит, когда контроллер памяти системы берет крошечный перерыв и обращается ко всем строкам данных в микросхемах памяти. Большинство систем имеют контроллер памяти (обычно встраиваемый в набор микросхем системной платы), который настроен на соответствующую промышленным стандартам частоту регенерации, равную, например, 15 мкс. Ко всем строкам данных обращение осуществляется по прохождении 128 специальных циклов регенерации. Это означает, что каждые 1,92 мс (128×15 мкс) прочитываются все строки в памяти для обеспечения регенерации данных.

Регенерация памяти, к сожалению, отнимает время у процессора: каждый цикл регенерации по длительности занимает несколько циклов центрального процессора. В старых компьютерах циклы регенерации могли занимать до 10% (или больше) процессорного времени, но в современных системах, работающих на частотах, равных сотням мегагерц, расходы на регенерацию составляют 1% (или меньше) процессорного времени. Некоторые системы позволяют изменить параметры регенерации с помощью программы установки параметров CMOS, но увеличение времени между циклами регенерации может привести к тому, что в некоторыхячейках памяти заряд “стечет”, а это вызовет сбои памяти. В большинстве случаев надежнее придерживаться рекомендуемой или заданной по умолчанию частоты регенерации. Поскольку затраты на регенерацию в современных компьютерах составляют менее 1%, изменение частоты регенерации оказывает незначительное влияние на характеристики компьютера. Одним из наиболее приемлемых вариантов является использование для синхронизации памяти значений по умолчанию или автоматических настроек, заданных с помощью Setup BIOS. Большинство современных систем не позволяют изменять заданную синхронизацию памяти, постоянно используя автоматически установленные параметры. При автоматической установке системная плата считывает параметры синхронизации из системы определения последовательности в ПЗУ (serial presence detect — SPD) и устанавливает частоту периодической подачи импульсов в соответствии с полученными данными.

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

Транзистор для каждого одноразрядного регистра DRAM используется для чтения состояния смежного конденсатора. Если конденсатор заряжен, в ячейке записана 1; если заряда нет — записан 0. Заряды в крошечных конденсаторах все время стекают, вот почему память должна постоянно регенерироваться. Даже мгновенное прерывание подачи питания или какой-нибудь сбой в циклах регенерации приведет к потере заряда в ячейке DRAM, а следовательно, и к потере данных. В работающей системе подобное приводит к появлению “синего” экрана, глобальным отказам системы защиты, повреждению файлов или к полному отказу системы.

Динамическая оперативная память используется в персональных компьютерах; поскольку она недорогая, микросхемы могут быть плотно упакованы, а это означает, что запоминающее устройство большой емкости может занимать небольшое пространство. К сожалению, память этого типа не отличается высоким быстродействием, обычно она намного “медленнее” процессора. Поэтому существует множество различных типов организации DRAM, позволяющих улучшить эту характеристику.

Характеристики памяти DRAM
Основными характеристиками DRAM являются рабочая частота и тайминги.

При обращении к ячейке памяти контроллер памяти задаёт номер банка, номер страницы в нём, номер строки и номер столбца и на все эти запросы тратится время, помимо этого довольно большой период уходит на открытие и закрытие банка после самой операции. На каждое действие требуется время, называемое таймингом.
Основными таймингами DRAM являются:

  • задержка между подачей номера строки и номера столбца, называемая временем полного доступа (англ. RAS to CAS delay), з
  • адержка между подачей номера столбца и получением содержимого ячейки, называемая временем рабочего цикла (англ. CAS delay),
  • задержка между чтением последней ячейки и подачей номера новой строки (англ. RAS precharge).

Тайминги измеряются в наносекундах, и чем меньше величина этих таймингов, тем быстрее работает оперативная память.
Типы DRAM:
На протяжении долгого времени разработчиками создавались различные типы памяти. Они обладали разными характеристиками, в них были использованы разные технические решения. Основной движущей силой развития памяти было развитие компьютеров и центральных процессоров. Постоянно требовалось увеличение быстродействия и объёма оперативной памяти.
Страничная память
Страничная память (англ. page mode DRAM, PM DRAM) являлась одним из первых типов выпускаемой компьютерной оперативной памяти. Память такого типа выпускалась в начале 1990-х годов, но с ростом производительности процессоров и ресурсоёмкости приложений требовалось увеличивать не только объём памяти, но и скорость её работы.
Быстрая страничная память
Быстрая страничная память (англ. fast page mode DRAM, FPM DRAM) появилась в 1995 году. Принципиально новых изменений память не претерпела, а увеличение скорости работы достигалось путём повышенной нагрузки на аппаратную часть памяти. Данный тип памяти в основном применялся для компьютеров с процессорами Intel 80486 или аналогичных процессоров других фирм. Память могла работать на частотах 25 и 33 МГц с временем полного доступа 70 и 60 нс и с временем рабочего цикла 40 и 35 нс соответственно.

3. Модули оперативной памяти SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM и др.

EDO DRAM - память с усовершенствованным выходом
C появлением процессоров Intel Pentium память FPM DRAM оказалась совершенно неэффективной. Поэтому следующим шагом стала память с усовершенствованным выходом (англ. extended data out DRAM, EDO DRAM). Эта память появилась на рынке в 1996 году и стала активно использоваться на компьютерах с процессорами Intel Pentium и выше. Её производительность оказалась на 10-15 % выше по сравнению с памятью типа FPM DRAM. Её рабочая частота была 40 и 50 МГц, соответственно, время полного доступа - 60 и 50 нс, а время рабочего цикла - 25 и 20 нс. Эта память содержит регистр-защелку (англ. data latch) выходных данных, что обеспечивает некоторую конвейеризацию работы для повышения производительности при чтении.

SDRAM - синхронная DRAM
В связи с выпуском новых процессоров и постепенным увеличением частоты системной шины, стабильность работы памяти типа EDO DRAM стала заметно падать. Ей на смену пришла синхронная память (англ. synchronous DRAM, SDRAM). Новыми особенностями этого типа памяти являлись использование тактового генератора для синхронизации всех сигналов и использование конвейерной обработки информации. Также память надёжно работала на более высоких частотах системной шины (100 МГц и выше).

Рисунок Модуль памяти SD RAM

Если для FPM и EDO памяти указывается время чтения первой ячейки в цепочке (время доступа), то для SDRAM указывается время считывания последующих ячеек. Цепочка - несколько последовательных ячеек. На считывание первой ячейки уходит довольно много времени (60-70 нс) независимо от типа памяти, а вот время чтения последующих сильно зависит от типа. Рабочие частоты этого типа памяти могли равняться 66, 100 или 133 МГц, время полного доступа - 40 и 30 нс, а время рабочего цикла - 10 и 7,5 нс.

С этим типом памяти применялась технология Virtual Channel Memory (VCM). VCM использует архитектуру виртуального канала, позволяющую более гибко и эффективно передавать данные с использованием каналов регистра на чипе. Данная архитектура интегрирована в SDRAM. VCM, помимо высокой скорости передачи данных, была совместима с существующими SDRAM, что позволяло делать апгрейд системы без значительных затрат и модификаций. Это решение нашло поддержку у некоторых производителей чипсетов.

Enhanced SDRAM (ESDRAM)
Для преодоления некоторых проблем с задержкой сигнала, присущих стандартной DRAM-памяти, было решено встроить небольшое количество SRAM в чип, то есть создать на чипе кеш.
- это, по существу, SDRAM с небольшим количеством SRAM. При малой задержке и пакетной работе достигается частота до 200 МГц. Как и в случае внешней кеш-памяти, SRAM-кеш предназначен для хранения и выборки наиболее часто используемых данных. Отсюда и уменьшение времени доступа к данным медленной DRAM.
Одним из таких решений являлась ESDRAM от Ramtron International Corporation.

Рисунок Модули ESDRAM

Пакетная EDO RAM
Пакетная память EDO RAM (англ. burst extended data output DRAM, BEDO DRAM) стала дешёвой альтернативой памяти типа SDRAM. Основанная на памяти EDO DRAM, её ключевой особенностью являлась технология поблочного чтения данных (блок данных читался за один такт), что сделало её работу быстрее, чем у памяти типа SDRAM. Однако невозможность работать на частоте системной шины более 66 МГц не позволила данному типу памяти стать популярным.

Рисунок Модуль EDORAM

Video RAM
Специальный тип оперативной памяти - Video RAM (VRAM) - был разработан на основе памяти типа SDRAM для использования в видеоплатах. Он позволял обеспечить непрерывный поток данных в процессе обновления изображения, что было необходимо для реализации изображений высокого качества. На основе памяти типа VRAM, появилась спецификация памяти типа Windows RAM (WRAM), иногда её ошибочно связывают с операционными системами семейства Windows. Её производительность стала на 25 % выше, чем у оригинальной памяти типа SDRAM, благодаря некоторым техническим изменениям.

Рисунок Микросхема Video RAM

DDR SDRAM
По сравнению с обычной памятью типа SDRAM, в памяти SDRAM с удвоенной скоростью передачи данных (англ. double data rate SDRAM, DDR SDRAM или SDRAM II) была вдвое увеличена пропускная способность. Первоначально память такого типа применялась в видеоплатах, но позднее появилась поддержка DDR SDRAM со стороны чипсетов.

У всех предыдущих DRAM были разделены линии адреса, данных и управления, которые накладывают ограничения на скорость работы устройств. Для преодоления этого ограничения в некоторых технологических решениях все сигналы стали выполняться на одной шине. Двумя из таких решений являются технологии DRDRAM и SLDRAM. Они получили наибольшую популярность и заслуживают внимания. Стандарт SLDRAM является открытым и, подобно предыдущей технологии, SLDRAM использует оба перепада тактового сигнала. Что касается интерфейса, то SLDRAM перенимает протокол, названный SynchLink Interface и стремится работать на частоте 400 МГц.

Рисунок Модуль DDR SDRAM

Память DDR SDRAM работает на частотах в 100, 133, 166 и 200 МГц, её время полного доступа - 30 и 22,5 нс, а время рабочего цикла - 5, 3,75, 3 и 2,5 нс.
Так как частота синхронизации лежит в пределах от 100 до 200 МГц, а данные передаются по 2 бита на один синхроимпульс, как по фронту, так и по срезу тактового импульса, то эффективная частота передачи данных лежит в пределах от 200 до 400 МГц. Такие модули памяти обозначаются DDR200, DDR266, DDR333, DDR400.

Direct RDRAM или Direct Rambus DRAM
Тип памяти RDRAM является разработкой компании Rambus. Высокое быстродействие этой памяти достигается рядом особенностей, не встречающихся в других типах памяти. Первоначальная очень высокая стоимость памяти RDRAM привела к тому, что производители мощных компьютеров предпочли менее производительную, зато более дешёвую память DDR SDRAM. Рабочие частоты памяти - 400, 600 и 800 МГц, время полного доступа - до 30 нс, время рабочего цикла - до 2,5 нс.

Рисунок Модули RD RAM

DDR2 SDRAM
Конструктивно новый тип оперативной памяти DDR2 SDRAM был выпущен в 2004 году. Основываясь на технологии DDR SDRAM, этот тип памяти за счёт технических изменений показывает более высокое быстродействие и предназначен для использования на современных компьютерах. Память может работать с тактовой частотой шины 200, 266, 333, 337, 400, 533, 575 и 600 МГц. При этом эффективная частота передачи данных соответственно будет 400, 533, 667, 675, 800, 1066, 1150 и 1200 МГц. Некоторые производители модулей памяти помимо стандартных частот выпускают и образцы, работающие на нестандартных (промежуточных) частотах. Они предназначены для использования в разогнанных системах, где требуется запас по частоте. Время полного доступа - 25, 11,25, 9, 7,5 нс и менее. Время рабочего цикла - от 5 до 1,67 нс.

Рисунок Модуль DDR2 SDRAM

DDR3 SDRAM
Этот тип памяти основан на технологиях DDR2 SDRAM со вдвое увеличенной частотой передачи данных по шине памяти. Отличается пониженным энергопотреблением по сравнению с предшественниками. Частота полосы пропускания лежит в пределах от 800 до 2400 МГц (рекорд частоты - более 3000 МГц), что обеспечивает большую пропускную способность по сравнению со всеми предшественниками.

Рисунок Модуль DDR3 SDRAM

Конструктивные исполнения памяти DRAM

Память типа DRAM конструктивно выполняют и в виде отдельных микросхем в корпусах типа DIP, SOIC, BGA, и в виде модулей памяти типа: SIPP, SIMM, DIMM, RIMM.

Первоначально микросхемы памяти выпускались в корпусах типа DIP (к примеру, серия К565РУхх), далее они стали производится в более технологичных для применения в модулях корпусах.
На многих модулях SIMM и подавляющем числе DIMM устанавливалась SPD (Serial Presence Detect) - небольшая микросхема памяти EEPROM, хранящяя параметры модуля (ёмкость, тип, рабочее напряжение, число банков, время доступа и т. п.), которые программно были доступны как оборудованию, в котором модуль был установлен (применялось для автонастройки параметров), так и пользователям и производителям.
Модули SIPP
Модули типа SIPP (Single In-line Pin Package) представляют собой прямоугольные платы с контактами в виде ряда маленьких штырьков. Этот тип конструктивного исполнения уже практически не используется, так как он далее был вытеснен модулями типа SIMM.
Модули SIMM
Модули типа SIMM (Single In-line Memory Module) представляют собой длинные прямоугольные платы с рядом контактных площадок вдоль одной из её сторон. Модули фиксируются в разъёме (сокете) подключения с помощью защёлок, путём установки платы под некоторым углом и нажатия на неё до приведения в вертикальное положение. Имели несколько модификаций, среди которых наибольшее распространение получили три.
Первая - 30-контактный модуль, имевший объем от 256 КБайт до 16 МБайт и восьмиразрядную шину данных, дополняемую (иногда) девятой линией контроля четности памяти. Применялся в 286, 386 машинах. В случае процессоров 286, 386SX модули ставились парами, на 386DX - по четыре штуки одинаковой емкости.
30-контактный модуль SIMM.
С приходом 486 машин, для которых эти модули надо было бы ставить по четыре (как минимум) штуки был вытеснен 72-контактным модулем SIMM, который, по существу, объединил на себе 4 30-контактных модуля с общими линиями адреса и раздельными линиями данных. Таким образом, модуль становится 32-разрядным и достаточно всего одного модуля. Объем от 1 МБайт до 128 МБайт.
Характеристики:
Разрядность шины данных: 8 бит (9 бит у модулей с контролем четности)
Тип применяемых микросхем динамической памяти: FPM
Стандартные значения объема памяти модулей: 256 Кб, 1 Мб, 4 Мб, 16 Мб
Шаг расположения контактных площадок - 0,1″

Таким образом модули выпускались на 4, 8, 16, 32, 64, 128 Мбайт. Наиболее распространены 30- и 72-контактные модули SIMM.

Модули DIMM
Модули типа DIMM (Dual In-line Memory Module) представляют собой длинные прямоугольные платы с рядами контактных площадок вдоль обеих её сторон, устанавливаемые в разъём подключения вертикально и фиксируемые по обоим торцам защёлками. Микросхемы памяти на них могут быть размещены как с одной, так и с обеих сторон платы. DIMM (англ. Dual In-line Memory Module, двухсторонний модуль памяти) - форм-фактор модулей памяти DRAM. Данный форм-фактор пришёл на смену форм-фактору SIMM. Основным отличием DIMM от предшественника является то, что контакты, расположенные на разных сторонах модуля являются независимыми, в отличие от SIMM, где симметричные контакты, расположенные на разных сторонах модуля, замкнуты между собой и передают одни и те же сигналы. Кроме того, DIMM имеет 64 (без контроля чётности)или 72 (с контролем по чётности или коду ECC) линии передачи данных, в отличие от SIMM c 32 линиями.
Конструктивно представляет собой длинную прямоугольную плату с рядами контактных площадок вдоль обеих её сторон, устанавливаемую в разъём подключения вертикально и фиксируемый по обоим её торцам защёлками. Микросхемы памяти могут быть размещены как с одной, так и с обеих сторон платы.
В отличие от форм-фактора SIMM, используемого для асинхронной памяти FPM и EDO, форм-фактор DIMM предназначен для памяти типа SDRAM. Изготавливались модули рассчитаные на напряжение питания 3,3 В и (реже) 5 В.
В дальнейшем, в модули DIMM стали упаковывать память типа DDR, DDR II и DDR III, отличающуюся повышенным быстродействием.
Появлению форм-фактора DIMM способствовало появление процессора Pentium, который имел 64-разрядную шину данных. В профессиональных рабочих станциях, таких, как SPARCstation, такой тип памяти использовался с начала 1990-х годов. В компьютерах общего назначения широкий переход на этот тип памяти произошёл в конце 1990-х, примерно во времена процессора Pentium II.
Существуют следующие типы DIMM:
72-pin SO-DIMM (не совместима с 72-pin SIMM) - используется для FPM DRAM и EDO DRAM
100-pin DIMM - используется для принтеров SDRAM
144-pin SO-DIMM - используется для SDR SDRAM
168-pin DIMM - используется для SDR SDRAM (реже для FPM/EDO DRAM в рабочих станциях/серверах)
172-pin MicroDIMM - используется для DDR SDRAM
184-pin DIMM - используется для DDR SDRAM
200-pin SO-DIMM - используется для DDR SDRAM и DDR2 SDRAM
214-pin MicroDIMM - используется для DDR2 SDRAM
204-pin SO-DIMM - используется для DDR3 SDRAM
240-pin DIMM - используется для DDR2 SDRAM, DDR3 SDRAM и FB-DIMM DRAM
Модули памяти типа SDRAM наиболее распространены в виде 168-контактных DIMM-модулей, памяти типа DDR SDRAM - в виде 184-контактных, а модули типа DDR2, DDR3 и FB-DIMM SDRAM - 204-контактных модулей.

Модули RIMM
Модули типа RIMM (Rambus In-line Memory Module) менее распространены, в них выпускается память типа RDRAM. Они представлены 168- и 184-контактными разновидностями, причём на материнской плате такие модули обязательно должны устанавливаться только в парах, в противном случае в пустые разъёмы устанавливаются специальные модули-заглушки (это связано с особенностями конструкции таких модулей). Также существуют 242-контактные PC1066 RDRAM модули RIMM 4200, не совместимые с 184-контактными разъёмами, и уменьшенная версия RIMM - SO-RIMM, которые применяются в портативных устройствах.

Рисунок Модули памяти в различных форм факторах

История использовани я и основные характеристики
Массовый выпуск SDRAM начался в 1993 году. Первоначально этот тип памяти предлагался в качестве альтернативы для дорогой видеопамяти (VRAM), однако вскоре SDRAM завоевал популярность и стал применяться в качестве ОЗУ, постепенно вытесняя другие типы динамической памяти. Последовавшие затем технологии DDR позволили сделать SDRAM ещё эффективнее. За разработкой DDR SDRAM, последовал стандарт DDR2 SDRAM, а затем и DDR3 SDRAM.
SDR SDRAM

Первый стандарт SDRAM с появлением последующих стандартов стал именоваться SDR (Single Data Rate - в отличие от Double Data Rate). За один такт принималась одна управляющая команда и передавалось одно слово данных. Типичными тактовыми частотами были 66, 100 и 133 МГц. Микросхемы SDRAM выпускались с шинами данных различной ширины (обычно 4, 8 или 16 бит), но как правило, эти микросхемы входили в состав 168-пинного модуля DIMM, который позволял прочитать или записать 64 бита (в варианте без контроля чётности) или 72 бита (с контролем чётности) за один такт.

Использование шины данных в SDRAM оказалось осложнено задержкой в 2 или 3 такта между подачей сигнала чтения и появлением данных на шине данных, тогда как во время записи никакой задержки быть не должно. Потребовалась разработка достаточно сложного контроллера, который не позволял бы использовать шину данных для записи и для чтения в один и тот же момент времени.
Управляющие сигналы
Команды, управляющие модулем памяти SDR SDRAM, подаются на контакты модуля по 7 сигнальным линиям. По одной из них подается тактовый сигнал, передние(нарастающие) фронты которого задают моменты времени, в которые считываются команды управления с остальных 6 командных линий. Имена(в скобках — расшифровки имен) шести командных линий и описания команд приведены ниже:
CKE (clock enable) - при низком уровне сигнала блокируется подача тактового сигнала на микросхему. Команды не обрабатываются, состояние других командных линий игнорируется.
/CS (chip select) - при высоком уровне сигнала все прочие управляющие линии, кроме CKE, игнорируются. Действует как команда NOP (нет оператора).
DQM (data mask) - высокий уровень на этой линии запрещает чтение/запись данных. При одновременно поданной команде записи данные не записываются в DRAM. Присутствие этого сигнала в двух тактах, предшествующих циклу чтения приводит к тому, что данные не считываются из памяти.
/RAS (row address strobe) - несмотря на название, это не строб, а всего лишь один командный бит. Вместе с /CAS и /WE кодирует одну из 8 команд.
/CAS (column address strobe) - несмотря на название, это не строб, а всего лишь один командный бит. Вместе с /RAS и /WE кодирует одну из 8 команд.
/WE (write enable) - Вместе с /RAS и /CAS кодирует одну из 8 команд.
Устройства SDRAM внутренне разделены на 2 или 4 независимых банка памяти. Входы адреса первого и второго банка памяти (BA0 и BA1) определяют, какому банку предназначена текущая команда.
Принимаются следующие команды:

DDR SDRAM пришла на смену памяти типа SDRAM. При использовании DDR SDRAM достигается удвоенная скорость работы, нежели в SDRAM, за счёт считывания команд и данных не только по фронту, как в SDRAM, но и по спаду тактового сигнала. За счёт этого удваивается скорость передачи данных без увеличения частоты тактового сигнала шины памяти. Таким образом, при работе DDR на частоте 100 МГц мы получим эффективную частоту 200МГц (при сравнении с аналогом SDR SDRAM).

Описание:
Внешнее отличие — 184 контактов (по 92 с каждой стороны)
Микросхемы памяти DDR SDRAM выпускаются в корпусах TSOP и (освоено позднее) корпусах типа BGA (FBGA), производятся по нормам 0,13 и 0,09-микронного техпроцесса
Напряжение питания микросхем: 2,6 В +/- 0,1 В
Потребляемая мощность: 527 мВт
Интерфейс ввода-вывода: SSTL_2

Ширина шины памяти составляет 64 бита, то есть по шине за один такт одновременно передаётся 8 байт. В результате получаем следующую формулу для расчёта максимальной скорости передачи для заданного типа памяти: тактовая частота шины памяти x 2 (передача данных дважды за такт) x 8 (число байтов передающихся за один такт). Например, чтобы обеспечить передачу данных дважды за такт, используется специальная архитектура «2n Prefetch». Внутренняя шина данных имеет ширину в два раза больше внешней. При передаче данных сначала передаётся первая половина шины данных по фронту тактового сигнала, а затем вторая половина шины данных по спаду.

Помимо удвоенной передачи данных, DDR SDRAM имеет несколько других принципиальных отличий от простой памяти SDRAM. В основном они являются технологическими. Например, был добавлен сигнал QDS, который располагается на печатной плате вместе с линиями данных. По нему происходит синхронизация при передаче данных. Если используется два модуля памяти, то данные от них приходят к контроллеру памяти с небольшой разницей из-за разного расстояния. Возникает проблема в выборе синхросигнала для их считывания и использование QDS успешно это решает.

JEDEC устанавливает стандарты для скоростей DDR SDRAM, разделённых на две части: первая для чипов памяти, а вторая для модулей памяти, на которых, собственно, и размещаются чипы памяти.

Чипы памяти
В состав каждого модуля DDR SDRAM входит несколько идентичных чипов DDR SDRAM. Для модулей без коррекции ошибок (ECC) их количество кратно 8, для модулей с ECC - кратно 9.
Спецификация чипов памяти:
DDR200: память типа DDR SDRAM, работающая на частоте 100 МГц
DDR266: память типа DDR SDRAM, работающая на частоте 133 МГц
DDR333: память типа DDR SDRAM, работающая на частоте 166 МГц
DDR400: память типа DDR SDRAM, работающая на частоте 200 МГц
DDR533: память типа DDR SDRAM, работающая на частоте 266 МГц
DDR666: память типа DDR SDRAM, работающая на частоте 333 МГц
DDR800: память типа DDR SDRAM, работающая на частоте 400 МГц

Характеристики чипов:
Объём чипа (DRAM density). Записывается в мегабитах, например 256 Мбит - чип объёмом 32 мегабайта.
Организация (DRAM organization). Записывается в виде 64M x 4, где 64M - это количество элементарных ячеек хранения (64 миллиона), а x4 (произносится «by four») - разрядность чипа, то есть разрядность каждой ячейки. Чипы DDR бывают x4 и x8, последние стоят дешевле в пересчёте на мегабайт объёма, но не позволяют использовать функции Chipkill, memory scrubbing и Intel SDDC.
Модули памяти:
Модули DDR SDRAM выполнены в форм-факторе DIMM. На каждом модуле расположено несколько одинаковых чипов памяти и конфигурационный чип SPD. На модулях регистровой (registered) памяти также располагаются регистровые чипы, буферизующие и усиливающие сигнал на шине, на модулях нерегистровой (небуферизованной, unbuffered) памяти их нет.

Характеристики модулей:
Объём. Указывается в мегабайтах или гигабайтах.
Количество чипов (# of DRAM Devices). Кратно 8 для модулей без ECC, для модулей с ECC - кратно 9. Чипы могут располагаться на одной или обеих сторонах модуля. Максимальное умещающееся на DIMM количество - 36 (9×4).
Количество строк (ранков) (# of DRAM rows (ranks)). Перед обращением к ячейке памяти DDR должна быть активирована строка, в которой находится эта ячейка, причём в модуле может быть активна только одна строка за раз. Чем больше строк в модуле, тем чаще в среднем придётся закрывать одну строку и активировать другую, что вызовет дополнительные задержки. С другой стороны, контроллер памяти некоторых чипсетов имеют ограничение на общее число ранков в установленных модулях памяти. Например чипсет Intel E7520/E7320 при использовании памяти PC2700 ограничен 8 ранками. Чтобы установить в материнскую плату на его основе с 8 слотами DIMM максимум памяти (2 Гб x 8 = 16 Гб), необходимо использовать только одноранковые (Single Rank) модули. Типичное число ранков - 1, 2 или 4. Разрядность строки равна разрядности шины памяти и составляет 64 бита для памяти без ECC и 72 бита для памяти с ECC.
Задержки (тайминги): CAS Latency (CL), Clock Cycle Time (tCK), Row Cycle Time (tRC), Refresh Row Cycle Time (tRFC), Row Active Time (tRAS).

Характеристики модулей и чипов, из которых они состоят, связаны.
Объём модуля равен произведению объёма одного чипа на число чипов. При использовании ECC это число дополнительно умножается на коэффициент 8/9, так как на каждый байт приходится один бит избыточности для контроля ошибок. Таким образом один и тот же объём модуля памяти можно набрать большим числом (36) маленьких чипов или малым числом (9) чипов большего объёма.
Общая разрядность модуля равна произведению разрядности одного чипа на число чипов и равна произведению числа ранков на 64 (72) бита. Таким образом, увеличение числа чипов или использование чипов x8 вместо x4 ведёт к увеличению числа ранков модуля.

Спецификация модулей памяти

DDR2 SDRAM пришла на смену памяти типа DDR SDRAM.
Как и DDR SDRAM, DDR2 SDRAM использует передачу данных по обоим срезам тактового сигнала, за счёт чего при такой же частоте шины памяти, как и в обычной SDRAM, можно фактически удвоить скорость передачи данных (например, при работе DDR2 на частоте 100 МГц эквивалентная эффективная частота для SDRAM получается 200 МГц). Основное отличие DDR2 от DDR - вдвое большая частота работы шины, по которой данные передаются в буфер микросхемы памяти. При этом чтобы обеспечить необходимый поток данных, передача на шину осуществляется из четырёх мест одновременно. Итоговые задержки оказываются выше, чем для DDR.

Описание :
Внешнее отличие — 240 контактов (по 120 с каждой стороны)
Микросхемы памяти DDR2 производятся в новом корпусе типа BGA (FBGA).
Напряжение питания микросхем 1,8 В
Потребляемая мощность: 247 мВт
Интерфейс ввода-вывода: SSTL_18
Burst Length: 4/8
Prefetch Size: 4-bit
Новые функции: ODT, OCD Calibration, Posted CAS, AL (Additive Latency)

Спецификация чипов памяти:
Тип чипа Частота памяти Частота шины Передач данных в секунду
DDR2-400 100 МГц 200 МГц 400 млн.
DDR2-533 133 МГц 266 МГц 533 млн.
DDR2-667 166 МГц 333 МГц 667 млн.
DDR2-800 200 МГц 400 МГц 800 млн.
DDR2-1066 266 МГц 533 МГц 1066 млн.

Спецификация модулей памяти


DDR3 SDRAM пришла на смену памяти типа DDR2 SDRAM.
Возможности микросхем DDR3 SDRAM
Предвыборка 8 бит
Функция асинхронного сброса с отдельным контактом
Поддержка компенсации времени готовности на системном уровне
Зеркальное расположение контактов, удобное для сборки модулей
Выполнение CAS Write Latency за такт
Встроенная терминация данных
Встроенная калибровка ввода/вывода (мониторинг времени готовности и корректировка уровней)
Автоматическая калибровка шины данных

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

Преимущества по сравнению с DDR2
Более высокая полоса пропускания (до 2400 МГц)
Сниженное тепловыделение (результат уменьшения напряжения питания)
Меньшее энергопотреблениие и улучшенное энергосбережение

Недостатки по сравнению с DDR2
Более высокая CAS-латентность (компенсируется большей пропускной способностью)
CAS-латентность (англ. column address strobe latency) - это время (в циклах) ожидания между запросом процессора на получение ячейки с информацией из памяти и временем, когда оперативная память сделает доступным для чтения первую ячейку.

Спецификация модулей памяти

Модули памяти SDR SDRAM могут иметь CAS-латентность, равную 1, 2 или 3 циклам. Модули DDR SDRAM могут иметь CAS-латентность, равную 2 или 2.5.
На модулях памяти CAS-латентность обозначается как CAS или CL. Пометка CAS2, CAS-2, CAS=2, CL2, CL-2 или CL=2 обозначает величину латентности, равную 2.
Особенности архитектуры памяти

Коррекция ошибок
Выявление и исправление ошибок (ЕСС - Error Checking and Correction) - этот специальный алгоритм, который заменил контроль четности в современных модулях памяти. Каждый бит данных включается более чем в одну контрольную сумму, поэтому при возникновении в нем ошибки возможно восстановить адрес и исправить сбойный бит. При сбоев двух и более битах ошибка лишь фиксируется, но не исправляется.

Система адресации
Для адресации ячеек памяти используют особенности матричной структуры. Полный адрес ячейки состоит из адресов строки и столбца. Для считывания (записи) информации на микросхему сначала подается сигнал RAS (Row Actress Strobe - импульс доступа к строке), а затем (одновременно или с небольшой задержкой) - код адреса строки. После этого через нормируемое время задержки должен быть подан код адреса столбца, перед которым проходит сигнал CAS (Column Adress Strobe - импульс доступа к столбцу). Под временем выборки микросхемы подразумевают промежуток между сигналами RAS. Следующее обращение к памяти возможно только через некоторое время, необходимое для восстановления внутренних/цепей. Этот промежуток называют временем перезарядки, причем оно составляет почти 90% от общего времени выборки. Данные из ячеек через усилители поступают в регистр микросхемы, откуда они становятся доступными после открытия линии DOUT (Data OUT). При операциях записи данные поступают по линии DIN (Data IN), а цикл происходит в обратном порядке.

Любое системное устройство, обладающее правом прямого доступа к памяти (по одному из каналов DMA - Direct Memory Acces), при необходимости посылает запрос, содержащий адрес и размер блока данных, а также управляющие сигналы. Так как доступ к памяти по каналам DMA одновременно могут иметь несколько устройств (например, процессор, видеокарта с интерфейсом AGP, контроллер шины PCI, жесткий диск), образуется очередь запросов, хотя каждому потребителю ресурсов памяти требуются собственные данные, часто расположенные не только в разных микросхемах, но и в разных банках памяти. Тем самым образуются значительные задержки при получении/записи данных. Технологии, позволяющие снизить или обойти перечисленные ограничения, описаны ниже.

Тайминг
Время пересылки данных измеряют в тактах микропроцессора и обычно записывают так: 6-2-2-2. Это означает, что на первую пересылку данных из произвольный ячейки памяти потребовалось 6 тактов шины, а на все последующие ячейки - по 2. Синхронная память обычно превосходит по быстродействию асинхронную. Например, при частоте системной шины 66 МГц память типа EDO 60 нc работает по схеме 5-2-2-2, а память типа SDRAM 10 нc, по схеме 5-1-1-1, что теоретически дает выигрыш в производительности около 30%.
На практике преимущество SDRAM меньше примерно на порядок, потому что далеко не все данные представляют собой последовательную выборку. Но уже при частоте системной шины 100 МГц память EDO 60 нc неработоспособна, a SDRAM 10 нc продолжает работу по схеме 5-1-1-1.

4. Производители и маркировка модулей памяти.

Для ориентировки приводим буквенный префикс обозначения продукции известных фирм, относящихся к группе major-производителей.
Fujitsu — MB;
Hyundai — НУ;
LG Semicon — GM;
Mitsubishi — M5M;
NEC — mPd;
Samsung — KM;
Texas Instruments — TMS;
Hitachi — HB;
IBM — IBM;
Micron — MT;
Mosel Vitelic — V;
Oki — MSM;
Siemens — HYB;
Toshiba — TC.

5. Альтернативная и перспективная память :
DDR4, SL DRAM,VCM DRAM, ESDRAM, FCRAM, FeRAM, MRAM.

Память типа ROM

ОРГАНИЗАЦИЯ ОП.

Оперативная память - это рабочая область для процессора компьютера.

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

1. ROM (Read Only Memory ) – ПЗУ, не способное выполнять операцию записи данных.

2. DRAM (Dynamic Random Access Memory ) - динамическое запоминающее устройство с произвольным порядком выборки.

3. SRAM (Static RAM ) - статическая оперативная память.

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

Динамическая оперативная память (Dynamic RAM - DRAM) используется в большинстве систем оперативной памяти современных ПК. Основное преимущество памяти этого типа состоит в том, что ее ячейки упакованы очень плотно, т.е. в небольшую микросхему можно упаковать много битов, а значит, на их основе можно построить память большой емкости. Ячейки памяти в микросхеме DRAM - это крошечные конденсаторы, которые удерживают заряды. Наличием или отсутствием зарядов кодируются биты. Проблемы, связанные с памятью этого типа, вызваны тем, что она динамическая, т.е. должна постоянно регенерироваться, так как в противном случае электрические заряды в конденсаторах памяти будут “стекать” и данные будут потеряны.

Кэш"память " SRAM

Память SRAM в отличие от динамической оперативной памяти (DRAM), для сохранения ее содержимого не требует периодической регенерации. SRAM имеет более высокое быстродействие, чем DRAM, и может работать на той же частоте, что и современные ЦП. Однако для хранения каждого бита в конструкции SRAM используется кластер из шести транзисторов. Использование транзисторов без каких либо конденсаторов означает, что нет необходимости в регенерации.

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

1) адресная память

2) память со стековой организацией

3) ассоциативная организация ОП

С точки зрения функционального построения, любое ЗУ этого типа представляет собой некоторый массив элементов памяти. Структурные элементы памяти образуют ячейки памяти. Ширина ячеек – ширина выборки из памяти.


1) В адресной памяти, размещение и поиск информации в запоминающем массиве, базируется на основе номера (адреса). Массив запоминания элементов содержит N n-разрядных слов, которые пронумерованы (0…N-1). Электронное обрамление включает в себя регистры для хранения адреса памяти, регистр информации (само слово), схемы адресной выборки (адресации), разрядные усилители для чтения и записи.

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

2) В стековой организации запись нового слова, поступившего с входной информационной шиной, производится в верхнюю (нулевую) ячейку- которая является выходной информационной шиной, при этом все ранее записанные слова (включая слово в ячейке 0) сдвигаются вниз, в соседние ячейки, номера которых на единицу больше. Считывание возможно только из верхней (нулевой) ячейки памяти. Основной режим – это считывание с удалением. Таким образом, ячейка N-1 – дно стека, а ячейка 0 – вершина.

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

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

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

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


Контроль четности и коды коррекции ошибок (ECC)

Факторы программных ошибок в памяти:

Скачки в энергопотреблении или шум на линии .

Использование неверного типа или параметра быстродействия памяти .

Статические разряды .

Ошибки синхронизации .

Тепловыделение .

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

В методе контроля четности информация в банках памяти хранится фрагментами по 9 бит, причем восемь из них (составляющих один байт) предназначены собственно для данных, а девятый является битом четности (parity ). Использование девятого бита позволяет схемам управления памятью на аппаратном уровне контролировать целостность каждого байта данных. Если обнаруживается ошибка, работа компьютера останавливается и на экран выводится сообщение о неисправности. Если вы работаете на компьютере под управлением Windows или OS/2, то при возникновении ошибки контроля четности сообщение, возможно, не появится, а просто произойдет блокировка системы.

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

контроль четности оберегает от последствий проведения неверных вычислений на базе некорректных данных;

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

Коды коррекции ошибок (Error Correcting Code - ECC) позволяют не только обнаружить ошибку, но и исправить ее в одном разряде. В случае ошибки в одном разряде ПК может работать без прерывания, причем данные не будут искажены. Коды коррекции ошибок в большинстве ПК позволяют только обнаруживать, но не исправлять ошибки в двух разрядах. Данный тип ECC получил название SEC_DED (single_bit error_correction double_bit error detection - одноразрядная коррекция, двухразрядное обнаружение ошибок). В кодах коррекции ошибок этого типа для каждых 32 бит требуется дополнительно семь контрольных разрядов при 4_байтовой и восемь - при 8_байтовой организации (64_разрядные процессоры Athlon/Pentium). Для использования кодов коррекции ошибок необходим контроллер памяти, вычисляющий контрольные разряды при операции записи в память. При чтении из памяти такой контроллер сравнивает прочитанные и вычисленные значения контрольных разрядов и при необходимости исправляет испорченный бит (или биты).

Совокупность ячеек образует условный «прямоугольник», состоящий из определённого количества строк и столбцов . Один такой «прямоугольник» называется страницей , а совокупность страниц называется банком . Весь набор ячеек условно делится на несколько областей.

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

Энциклопедичный YouTube

    1 / 5

    ✪ ЧТО ЛУЧШЕ КУПИТЬ? НОУТБУК ИЛИ КОМПЬЮТЕР? ПК ИЛИ НОУТБУК? КУПИТЬ ПК 2018, КУПИТЬ НОУТБУК 2018

    ✪ РАБОЧЕЕ МЕСТО ПОДПИСЧИКОВ 13!!! ВЕЛИКОЛЕПНЫЙ ПК INTEL CORE i7 В КОРПУСЕ NZXT!

    ✪ $7500 Ultimate Wolverine Desk Setup | Time Lapse

    ✪ КАК РАЗОГНАТЬ ПРОЦЕССОР! Всё что знал, intel и AMD, как узнать о VRM и ОЕМ производителя БП

    ✪ ЦЕЛЬ: $1000 и ТЯНЕТ ИГРЫ 60+ FPS

    Субтитры

История

Впервые динамическая память была реализована в дешифровальной машине «Aquarius», использовавшейся во время второй мировой войны в правительственной школе кодов и шифров в Блетчли-парк . Считываемые с бумажной ленты символы «запоминались в динамическом хранилище. … Хранилище представляло собой блок конденсаторов , которые были либо заряжены, либо разряжены. Заряженный конденсатор соответствовал символу „X“ (логической единице), разряженный - символу „.“ (логическому нулю). Поскольку конденсаторы теряли заряд из-за утечки, на них периодически подавался импульс для подзарядки (отсюда термин динамическая )» .

Основными таймингами DRAM являются:

  • задержка между подачей номера строки и номера столбца, называемая временем полного доступа (англ. RAS to CAS delay );
  • задержка между подачей номера столбца и получением содержимого ячейки, называемая временем рабочего цикла (англ. CAS delay );
  • задержка между чтением последней ячейки и подачей номера новой строки (англ. RAS precharge ).


Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: