Регенерация динамической памяти

ДИНАМИЧЕСКОЕ ОЗУ

Микросхема быстродействующей оперативной памяти ПК, которая отличается

тем, что теряет свое содержимое, если не считывается в течение 2-х миллисекунд.

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

могут выполняться в произвольные моменты времени.

ТИПЫ ДИНАМИЧЕСКИХ ОЗУ

FPU DRAH "Динамическое ОЗУ с быстрым страничным доступом": основной вид видеопамяти, идентичный применяемой в системных платах. Использует асинхронный (произвольный) доступ к ячейкам хранения данных, при котором управляющие сигналы жестко не привязаны к тактовой частоте системы.

EDO DRAH/RAH "ОЗУ с увеличенным временем доступности данных": микросхема динамической памяти, которая отличается от обычных динамических ОЗУ. Техническое обеспечение автоматизированных систем повышенной возможностью работы в так называемом страничном режиме (связанном с сокращением числа тактов при выборке смежных слов текста). В результате этого производительность машины возрастает (примерно на 5%). Используется в качестве основной памяти ПК на базе микропроцессоров Pentium и Pentium Pro, а также в видеокартах при частоте шины 40-50 МГц. Максимальная пропускная способность порядка 105 Мбайт/с.

DDR SDRAM "Синхронное динамическое ОЗУ с удвоенной скоростью передачи данных" или "Расширенное синхронное динамическое ОЗУ" отличается от SDRAH тем, что к последней добавлено небольшое статическое ЗУ, выполняющее функции кэш-памяти. Использование дополнительного кэша позволяет снизить временные задержки и достичь пиковой частоты операций в 200 МГц. Цель такого кэширования хранить данные, к которым происходит частое обращение, и минимизировать обращение к более медленной DRAM. Пропускная способность и скорость работы такой комбинации увеличивается вдвое также за счет того, что при обмене данными между SRAM-кэшем и собственно DRAM может быть

использована шина большей ширины, чем между SRAM-кэшем и контроллером

DRAM. Наибольшую популярность этот вид развивающейся памяти получил при производстве графических ускорителей.

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

VRAH "Видео ОЗУ" или "Видеопамять": быстродействующая оперативная память ЭВМ, являющаяся результатом развития динамических ОЗУ для графической подсистемы ЭВМ и ее мультимедийных приложений. Иногда ее называют также "двухпортовая DRAM". Отличается от обычных схем динамического ОЗУ (DRAH) возможностью одновременного выполнения операций записи и считывания данных за счет наличия двух входов (портов), чем обеспечивается существенное (примерно в два раза) повышение производительности системы. Используется в графических адаптерах. Ее параметры: частота пропускания шины 25-33 МГц, максимальная пропускная способность 120 Мбайт/с. VRAM является одним из наиболее дорогих видов памяти.


Динамическая оперативная память (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 не обойтись.

Оперативная память (Random Access Memory – RAM), т.е. память с произвольным доступом, используется центральным процессором для совместного хранения данных и исполняемого программного кода. По принципам хранения информации ОЗУ можно разделить на статические и динамические.

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

В статических ОЗУ ячейки построены на различных вариантах триггеров. После записи бита в такую ячейку она может сохранять его сколь угодно долго – необходимо только наличие питания. Отсюда и название памяти – статическая, т.е. пребывающая в неизменном состоянии. Достоинством статической памяти является ее быстродействие, а недостатками – высокое энергопотребление и низкая удельная плотность данных, поскольку одна триггерная ячейка состоит из нескольких транзисторов и, следовательно, занимает на кристалле немало места. К примеру, микросхема емкостью 4 Мбит состояла бы более чем из 24 млн. транзисторов, потребляя соответствующую мощность.

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

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

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

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

Динамической памяти в вычислительной машине значительно больше, чем стати­ческой, поскольку именно DRAM используется в качестве основной памяти ВМ. Как и SRAM, динамическая память состоит из ядра (массива ЗЭ) и интерфейсной логики (буферных регистров, усилителей чтения данных, схемы регенерации и др.). Хотя количество видов DRAM уже превысило два десятка, ядро у них организова­но практически одинаково. Главные различия связаны с интерфейсной логикой, причем различия эти обусловлены также и областью применения микросхем – помимо основной памяти ВМ, ИМС динамической памяти входят, например, в состав видеоадаптеров. Классификация микросхем динамической памяти пока­зана на рис. 72.

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

В отличие от SRAM адрес ячейки DRAM передается в микросхему за два шага - вначале адрес столбца, а затем строки, что позволяет сократить количество выво­дов шины адреса примерно вдвое, уменьшить размеры корпуса и разместить на материнской плате большее количество микросхем. Это, разумеется, приводит к снижению быстродействия, так как для передачи адреса нужно вдвое больше вре­мени. Для указания, какая именно часть адреса передается в определенный момент, служат два вспомогательных сигнала RAS и CAS. При обращении к ячейке памя­ти на шину адреса выставляется адрес строки. После стабилизации процессов на шине подается сигнал RAS и адрес записывается во внутренний регистр микро­схемы памяти. Затем на шину адреса выставляется адрес столбца и выдается сиг­нал CAS. В зависимости от состояния линии WE производится чтение данных из ячейки или их запись в ячейку (перед записью данные должны быть помещены на шину данных). Интервал между установкой адреса и выдачей сигнала RAS (или CAS) оговаривается техническими характеристиками микросхемы, но обычно ад­рес выставляется в одном такте системной шины, а управляющий сигнал - в сле­дующем. Таким образом, для чтения или записи одной ячейки динамического ОЗУ требуется пять тактов, в которых происходит соответственно: выдача адреса строки, выдача сигнала RAS, выдача адреса столбца, выдача сигнала CAS, выполнение операции чтения/записи (в статической памяти процедура занимает лишь от двух до трех тактов).

Рис. 72. Классификация динамических ОЗУ: а) – микросхемы для основной памяти; б) – микросхемы для видеоадаптеров.

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

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

Асинхронные динамические ОЗУ. Микросхемы асинхронных динамических ОЗУ управляются сигналами RAS и CAS, и их работа в принципе не связана непосред­ственно тактовыми импульсами шины. Асинхронной памяти свойственны допол­нительные затраты времени на взаимодействие микросхем памяти и контроллера. Так, в асинхронной схеме сигнал RAS будет сформирован только после поступле­ния в контроллер тактирующего импульса и будет воспринят микросхемой памя­ти через некоторое время. После этого память выдаст данные, но контроллер сможет их считать только по приходу следующего тактирующего импульса, так как он должен работать синхронно с остальными устройствами ВМ. Таким образом, на протяжении цикла чтения/записи происходят небольшие задержки из-за ожида­ния памятью контроллера и контроллером памяти.

Микросхемы DRAM. В первых микросхемах динамической памяти применялся наиболее простой способ обмена данными, часто называемый традиционным (con­ventional). Он позволял считывать и записывать строку памяти только на каждый пятый такт. Этапы такой процедуры были описаны ранее. Традици­онной DRAM соответствует формула 5-5-5-5. Микросхемы данного типа могли работать на частотах до 40 МГц и из-за своей медлительности (время доступа со­ставляло около 120 нс) просуществовали недолго.

Микросхемы FPMDRAM. Микросхемы динамического ОЗУ, реализующие ре­жим FPM, также относятся к ранним типам DRAM. Сущность режима была пока­зана ранее. Схема чтения для FPM DRAM описывается формулой 5-3-3-3 (всего 14 тактов). Применение схемы быстрого страничного доступа по­зволило сократить время доступа до 60 нс, что, с учетом возможности работать на более высоких частотах шины, привело к увеличению производительности памя­ти по сравнению с традиционной DRAM приблизительно на 70%. Данный тип микросхем применялся в персональных компьютерах примерно до 1994 года.

Микросхемы EDO DRAM. Следующим этапом в развитии динамических ОЗУ стали ИМС с гиперстраничным режимом доступа (НРМ, Hyper Page Mode), бо­лее известные как EDO (Extended Data Output - расширенное время удержания данных на выходе). Главная особенность технологии - увеличенное по сравне­нию с FPM DRAM время доступности данных на выходе микросхемы. В микро­схемах FPM DRAM выходные данные остаются действительными только при ак­тивном сигнале CAS, из-за чего во втором и последующих доступах к строке нужно три такта: такт переключения CAS в активное состояние, такт считывания данных и такт переключения CAS в неактивное состояние. В EDO DRAM по активному (спадающему) фронту сигнала CAS данные запоминаются во внутреннем регистре, где хранятся еще некоторое время после того, как поступит следующий активный фронт сигнала. Это позволяет использовать хранимые данные, когда CAS уже переведен в неактивное состояние. Иными словами, временные пара­метры улучшаются за счет исключения циклов ожидания момента стабилизации данных на выходе микросхемы.

Схема чтения у EDO DRAM уже 5-2-2-2, что на 20% быстрее, чем у FPM. Вре­мя доступа составляет порядка 30-40 нс. Следует отметить, что максимальная ча­стота системной шины для микросхем EDO DRAM не должна была превышать 66 МГц.

Микросхемы BEDO DRAM. Технология EDO была усовершенствована компа­нией VIA Technologies. Новая модификация EDO известна как BEDO (Burst EDO - пакетная EDO). Новизна метода в том, что при первом обращении считы­вается вся строка микросхемы, в которую входят последовательные слова пакета. За последовательной пересылкой слов (переключением столбцов) автоматически следит внутренний счетчик микросхемы. Это исключает необходимость выдавать адреса для всех ячеек пакета, но требует поддержки со стороны внешней логики. Способ позволяет сократить время считывания второго и последующих слов еще на один такт, благодаря чему формула приобретает вид 5-1-1-1.

Микросхемы EDRAM. Более быстрая версия DRAM была разработана подраз­делением фирмы Ramtron - компанией Enhanced Memory Systems. Технология реализована в вариантах FPM, EDO и BEDO. У микросхемы более быстрое ядро и внутренняя кэш-память. Наличие последней - главная особенность технологии. В роли кэш-памяти выступает статическая память (SRAM) емкостью 2048 бит. Ядро EDRAM имеет 2048 столбцов, каждый из которых соединен с внутренней кэш-памятью. При обращении к какой-либо ячейке одновременно считывается целая строка (2048 бит). Считанная строка заносится в SRAM, причем перенос информации в кэш-память практически не сказывается на быстродействии, по­скольку происходит за один такт. При дальнейших обращениях к ячейкам, отно­сящимся к той же строке, данные берутся из более быстрой кэш-памяти. Следую­щее обращение к ядру происходит при доступе к ячейке, не расположенной в строке, хранимой в кэш-памяти микросхемы.

Технология наиболее эффективна при последовательном чтении, то есть когда среднее время доступа для микросхемы приближается к значениям, характерным для статической памяти (порядка 10 нс). Главная сложность состоит в несовмес­тимости с контроллерами, используемыми при работе с другими видами DRAM.

Синхронные динамические ОЗУ. В синхронных DRAM обмен информацией син­хронизируется внешними тактовыми сигналами и происходит в строго определен­ные моменты времени, что позволяет взять все от пропускной способности шины «процессор-память» и избежать циклов ожидания. Адресная и управляющая ин­формация фиксируются в ИМС памяти. После чего ответная реакция микросхе­мы произойдет через четко определенное число тактовых импульсов, и это время процессор может использовать для других действий, не связанных с обращением к памяти. В случае синхронной динамической памяти вместо продолжительности цикла доступа говорят о минимально допустимом периоде тактовой частоты, и речь уже идет о времени порядка 8-10 нс.

Микросхемы SDRAM. Аббревиатура SDRAM (Synchronous DRAM - синхрон­ная DRAM) используется для обозначения микросхем «обычных» синхронных динамических ОЗУ. Кардинальные отличия SDRAM от рассмотренных выше асин­хронных динамических ОЗУ можно свести к четырем положениям:

· синхронный метод передачи данных на шину;

· конвейерный механизм пересылки пакета;

· применение нескольких (двух или четырех) внутренних банков памяти;

· передача части функций контроллера памяти логике самой микросхемы.

Синхронность памяти позволяет контроллеру памяти «знать» моменты готов­ности данных, за счет чего снижаются издержки циклов ожидания и поиска дан­ных. Так как данные появляются на выходе ИМС одновременно с тактовыми им­пульсами, упрощается взаимодействие памяти с другими устройствами ВМ.

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

Значительный эффект дает разбиение всей совокупности ячеек на независи­мые внутренние массивы (банки). Это позволяет совмещать доступ к ячейке одного банка с подготовкой к следующей операции в остальных банках (перезарядкой управляющих цепей и восстановлением информации). Возможность держать открытыми одновременно несколько строк памяти (из разных банков) также спо­собствует повышению быстродействия памяти. При поочередном доступе к бан­кам частота обращения к каждому из них в отдельности уменьшается пропор­ционально числу банков и SDRAM может работать на более высоких частотах. Благодаря встроенному счетчику адресов SDRAM, как и BEDO DRAM, позволя­ет производить чтение и запись в пакетном режиме, причем в SDRAM длина паке­та варьируется и в пакетном режиме есть возможность чтения целой строки памя­ти. ИМС может быть охарактеризована формулой 5-1-1-1. Несмотря на то, что формула для этого типа динамической памяти такая же, что и у BEDO, способ­ность работать на более высоких частотах приводит к тому, что SDRAM с двумя банками при тактовой частоте шины 100 МГц по производительности может по­чти вдвое превосходить память типа BEDO.

Микросхемы DDR SDRAM. Важным этапом в дальнейшем развитии техноло­гии SDRAM стала DDR SDRAM (Double Data Rate SDRAM - SDRAM с удвоен­ной скоростью передачи данных). В отличие от SDRAM новая модификация вы­дает данные в пакетном режиме по обоим фронтам импульса синхронизации, за счет чего пропускная способность возрастает вдвое. Существует несколько специ­фикаций DDR SDRAM, в зависимости от тактовой частоты системной шины: DDR266, DDR333, DDR400, DDR533. Так, пиковая пропускная способность мик­росхемы памяти спецификации DDR333 составляет 2,7 Гбайт/с, а для DDR400 - 3,2 Гбайт/с. DDR SDRAM в настоящее время является наиболее распространен­ным типом динамической памяти персональных ВМ.

Микросхемы RDRAM, DRDRAM. Наиболее очевидные способы повышения эффективности работы процессора с памятью - увеличение тактовой частоты шины либо ширины выборки (количества одновременно пересылаемых разрядов). К сожалению, попытки совмещения обоих вариантов наталкиваются на существен­ные технические трудности (с повышением частоты усугубляются проблемы элек­тромагнитной совместимости, труднее становится обеспечить одновременность поступления потребителю всех параллельно пересылаемых битов информации). В большинстве синхронных DRAM (SDRAM, DDR) применяется широкая вы­борка (64 бита) при ограниченной частоте шины.

Принципиально отличный подход к построению DRAM был предложен ком­панией Rambus в 1997 году. В нем упор сделан на повышение тактовой частоты до 400 МГц при одновременном уменьшении ширины выборки до 16 бит. Новая па­мять известна как RDRAM (Rambus Direct RAM). Существует несколько разно­видностей этой технологии: Base, Concurrent и Direct. Во всех тактирование ведется по обоим фронтам синхросигналов (как в DDR), благодаря чему результирующая частота составляет соответственно 500-600, 600-700 и 800 МГц. Два первых ва­рианта практически идентичны, а вот изменения в технологии Direct Rambus (DRDRAM) весьма значительны.

Сначала остановимся на принципиальных моментах технологии RDRAM, ори­ентируясь в основном на более современный вариант - DRDRAM. Главным от­личием от других типов DRAM является оригинальная система обмена данными между ядром и контроллером памяти, в основе которой лежит так называемый «канал Rambus», применяющий асинхронный блочно-ориентированный протокол. На логическом уровне информация между контроллером и памятью передается пакетами.

Различают три вида пакетов: пакеты данных, пакеты строк и пакеты столбцов. Пакеты строк и столбцов служат для передачи от контроллера памяти команд уп­равления соответственно линиями строк и столбцов массива запоминающих эле­ментов. Эти команды заменяют обычную систему управления микросхемой с по­мощью сигналов RAS, CAS, WE и CS.

Массив ЗЭ разбит на банки. Их число в кристалле емкостью 64 Мбит составля­ет 8 независимых или 16 сдвоенных банков. В сдвоенных банка^ пара банков ис­пользует общие усилители чтения/записи. Внутреннее ядро микросхемы имеет 128-разрядную шину данных, что позволяет по каждому адресу столбца переда­вать 16 байт. При записи можно использовать маску, в которой каждый бит соот­ветствует одному байту пакета. С помощью маски можно указать, сколько байтов пакета и какие именно должны быть записаны в память.

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

Операция записи может следовать сразу за чтением - нужна лишь задержка на время прохождения сигнала по каналу (от 2,5 до 30 нс в зависимости от длины канала). Чтобы выровнять задержки в передаче отдельных битов передаваемого кода, проводники на плате должны располагаться строго параллельно, иметь оди­наковую длину (длина линий не должна превышать 12 см) и отвечать строгим тре­бованиям, определенным разработчиком.

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

В имеющихся публикациях упоминается работа Intel и Rambus над новой вер­сией RDRAM, названной nDRAM, которая будет поддерживать передачу данных с частотами до 1600 МГц.

Микросхемы SLDRAM. Потенциальным конкурентом RDRAM на роль стандарта архитектуры памяти для будущих персональных ВМ выступает новый вид ди­намического ОЗУ, разработанный консорциумом производителей ВМ SyncLink Consortium и известный под аббревиатурой SLDRAM. В отличие от RDRAM, тех­нология которой является собственностью компаний Rambus и Intel, данный стан­дарт - открытый. На системном уровне технологии очень похожи. Данные и ко­манды от контроллера к памяти и обратно в SLDRAM передаются пакетами по 4 или 8 посылок. Команды, адрес и управляющие сигналы посылаются по однонап­равленной 10-разрядной командной шине. Считываемые и записываемые данные передаются по двунаправленной 18-разрядной шине данных. Обе шины работают на одинаковой частоте. Пока что еще эта частота равна 200 МГц, что, благодаря технике DDR, эквивалентно 400 МГц. Следующие поколения SLDRAM должны работать на частотах 400 МГц и выше, то есть обеспечивать эффективную частоту более 800 МГц.

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

Микросхемы ESDRAM. Это синхронная версия EDRAM, в которой использу­ются те же приемы сокращения времени доступа. Операция записи в отличие от чтения происходит в обход кэш-памяти, что увеличивает производительность ESDRAM при возобновлении чтения из строки, уже находящейся в кэш-памяти. Благодаря наличию в микросхеме двух банков простои из-за подготовки к опера­циям чтения/записи сводятся к минимуму. Недостатки у рассматриваемой мик­росхемы те же, что и у EDRAM - усложнение контроллера, так как он должен.читывать возможность подготовки к чтению в кэш-память новой строки ядра. Кроме того, при произвольной последовательности адресов кэш-память задействуется неэффективно.

Микросхемы CDRAM. Данный тип ОЗУ разработан в корпорации Mitsubishi, и его можно рассматривать как пересмотренный вариант ESDRAM, свободный от некоторых ее несовершенств. Изменены емкость кэш-памяти и принцип размеще­ния в ней данных. Емкость одного блока, помещаемого в кэш-память, уменьшена до 128 бит, таким образом, в 16-килобитовом кэше можно одновременно хранить копии из 128 участков памяти, что позволяет эффективнее использовать кэш-па­мять. Замена первого помещенного в кэш участка памяти начинается только после заполнения последнего (128-го) блока. Изменению подверглись и средства доступа. Так, в микросхеме используются раздельные адресные шины для статического кэша и динамического ядра. Перенос данных из динамического ядра в кэш-память со­вмещен с выдачей данных на шину, поэтому частые, но короткие пересылки не снижают производительности ИМС при считывании из памяти больших объе­мов информации и уравнивают CDRAM с ESDRAM, а при чтении по выбо­рочным адресам CDRAM явно выигрывает. Необходимо, однако, отметить, что вышеперечисленные изменения привели к еще большему усложнению кон­троллера памяти.

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

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

Элементы памяти

Название "динамические ОЗУ" обусловлено элементами памяти, в качестве которых используются конденсаторы небольшой емкости, способные, как показано ниже, хранить заряд. В реальных условиях конденсатор разряжается и требуется постоянная периодическая его подзарядка. Поэтому память на основе емкостных элементов является динамической памятью, чем она принципиально отличается от статической памяти, реализуемой на бистабильных ячейках, способных хранить информацию при включенном питании сколь угодно долго. Таким образом, динамическое хранение данных означает прежде всего возможность многократной записи информации в оперативную память, а также необходимость периодического (примерно через каждые 15 мс) обновления, или перезаписи, данных.

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

О возможности использования конденсатора как элемента памяти. Идеальный конденсатор представляет собой двухполюсник, заряд которого Q является линейной функцией напряжения U (рис. 10.1,а ). Если к идеальному конденсатору С через ключ К подвести напряжение U от источника ЭДС (рис. 10.1,6), то на конденсаторе появится постоянный заряд Q в соответствии с вольт-кулонной характеристикой (рис. 10.1,а). При постоянстве заряда (Q = const) ток в цепи не протекает (/= AQ/At= 0), поэтому размыкание ключа (рис. 10.1,в) не изменит состояния конденсатора С, т.е. на конденсаторе по-прежнему останутся 0 = const и U= const. Следовательно, конденсатор обладает способностью хранить заряд Qw напряжение U.

Рис. 10.1. Вольт-кулонная характеристика идеального конденсатора (а), его состояние при замкнутом (б) и разомкнутом (в) ключе К, схема разряда конденсатора С через резистор R (г)

Реальные конденсаторы обладают потерями, кроме того, для реализации режимов записи и считывания к конденсаторам подключаются внешние цепи, которые также имеют потери. Потери моделируются активным сопротивлением R , подключенным параллельно конденсатору С (рис. 10.1,г). В этих условиях при размыкании ключа К в цепи на рис. 10.1,5 через резистор R начнет протекать ток / (рис. 10.1,г) и накопленная в конденсаторе С энергия электрического поля будет преобразовываться в тепловую энергию, выделяемую на резисторе R. В процессе разряда конденсатор теряет свой заряд, и напряжение на его полюсах уменьшается. Поэтому, как отмечалось выше, использование конденсаторов в качестве элементов памяти требует периодического восстановления (регенерации) напряжения.

О реализации емкостного элемента памяти. Основой для построения емкостных элементов памяти служат МОП- транзисторы. В настоящее время широкое распространение получили однотранзисторные структуры, которые помимо емкостного элемента памяти располагают средством подключения его к разрядной шине. Структура однотранзисторного элемента памяти изображена на рис. 10.2,а и представляет собой n-МОП-транзистор, в котором сток, выполненный из поликремния, не имеет внешнего вывода. Сток транзистора образует одну обкладку конденсатора, подложка – другую. Диэлектриком между обкладками служит тонкий слой оксида кремния Si О 2. Структура исток – затвор – сток выполняет функции транзисторного ключа. Схема элемента памяти приведена на рис. 10.2,6.

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

Рис. 10.2. Структура элемента памяти динамического ОЗУ (а) и его эквивалентная схема (б)

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

При отсутствии напряжения на адресной шине транзистор УТ 1 заперт и конденсатор Сэп элемента памяти отключен от разрядной шины. Элемент памяти работает в режиме хранения.

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

В режиме записи с помощью управляющих сигналов, подаваемых на затворы транзисторных ключей VT 3 или VT 4, в элемент памяти можно записать соответственно логические нуль или единицу. При этом логическому нулю соответствует нулевое значение напряжения на конденсаторе Сэп, логической единице – напряжение, равное Е.

Рис. 10.3.

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

Анализ показывает , что:

  • при считывании на элементе памяти происходит изменение напряжения на ±рЕ/ 2, где р = Сэп/Сусчитывание является разрушающим процессом и требует восстановления исходной информации;
  • напряжение на разрядной шине в режиме считывания изменяется в незначительных пределах , что затрудняет точную фиксацию хранимых в элементе памяти данных.

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

  • для восстановления заряда элемента памяти вводят циклы регенерации;
  • увеличивают емкость СЭп элемента памяти, например, путем использования диэлектрика с бо́льшим значением диэлектрической проницаемости;
  • уменьшают емкость C yразрядной шины едва раза путем разделения ее на две подушины;
  • для считывания используют высокочувствительные дифференциальные усилители с положительной обратной связьюусилители- регенераторы.