Энергонезависимая память

Энергонезависимая память

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

Энергонезависимая память в основном применяется для хранения не изменяемой (или редко изменяемой) информации — системного программного обеспечения (BIOS), таблиц (например, знакогенераторов графических адаптеров), памяти конфигурации устройств (ESCD, EEPROM адаптеров).

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

Запоминающие ячейки энергонезависимой памяти обычно несимметричны по своей природе и позволяют записывать только нули (реже — только единицы) в предварительно стертые (чистые) ячейки. Однократно программируемые микросхемы позволяют изменять только исходное (после изготовления) состояние ячеек. Стирание ячеек выполняется либо для всей микросхемы, либо для определенного блока, либо для одной ячейки (байта). Стирание приводит все биты стираемой области в одно состояние (обычно во все единицы, реже — во все нули). Процедура стирания обычно существенно дольше записи. Процедура программирования многих типов памяти требует наличия относительно высокого напряжения программирования (12-26 В), а для однократно программируемых (прожигаемых) микросхем и специального (не ТТЛ) интерфейса управления. После программирования требуется верификация сравнение записанной информации с оригиналом, причем некачественное управление программированием (или брак микросхемы) может приводить к «зарастанию» записанной ячейки, что потребует повторного (возможно, и неудачного) ее программирования. Вероятен и обратный вариант. когда «пробиваются” соседние ячейки, что потребует повторного стирания (тоже, возможно, неудачного). Стирание и программирование микросхем может выполняться либо в специальном устройстве программаторе, либо в самом целевом устройстве, если у него предусмотрены соответствующие средства. Для микросхем, не извлекаемых из целевого устройства (PC), возможны два метода их перепрограммирования:

  • используя собственный процессор PC — ISV (In-Sistem Write);
  • подключая к плате внешний программатор — OBP (On-Board Programming).

CMOS RAM — статическая память с очень низким энергопотреблением. Она выполнена на КМОП-структурах и хранит параметры настройки BIOS. Электропитание CMOS RAM осуществляется и при выключенном компьютере от электрической (внешней или встроенной) литиевой батареи со сроком службы до 5 лет или аккумулятора со сроком службы 2-3 года.

CMOS RAM допускает неограниченное число циклов записи — чтения программным путем через порты.

ROM — постоянное запоминающее устройство (ПЗУ), предназначенное только для чтения. Масочные постоянные запоминающие устройства ПЗУ или ROM — имеют самое высокое быстродействие (время доступа 30-70 нс). Эти микросхемы в PC широкого применения не получили ввиду сложности модификации содержимого (только с помощью заказа на изготовление новых микросхем), они иногда применялись в качестве знакогенераторов в некоторых моделях графических адаптеров CGA, MDA, HGC.

PROM (Programmable ROM) — микросхемы. программируемые однократно после изготовления
перед установкой в целевое устройство (прожигаемые ПЗУ, программируемые на специальных программаторах. или ППЗУ- программируемые ПЗУ). Однократно программируемые постоянные запоминающие устройства — ППЗУ или PROM имеют параметры, аналогичные масочным ПЗУ, и благодаря возможности программирования изготовителем оборудования (а не микросхем) находят более широкое применение для хранения кодов BIOS и в графических адаптерах. Программирование этих микросхем осуществляется только с помощью специальных программаторов, в целевые устройства они устанавливаются в «кроватки» или запаиваются. Как и масочные, эти микросхемы практически нечувствительны к электромагнитным полям (в том числе, и к рентгеновскому облучению), и несанкционированное изменение их содержимого в устройстве исключено (конечно, не считая отказа).

EPROM (Erasable PROM) — стираемые ПЗУ (или микросхемы, стираемые и программируемые многократно РПЗУ, то есть репрограммируемые ПЗУ, стираемые обычно ультрафиолетовым облучением. их называют и UV-EPROM (Ultra-Violet EPROM, УФРПЗУ). EPROM до недавних пор были самыми распространенными носителями BIOS как на системных платах, так и в адаптерах, а так же использовались в качестве знакогенераторов. Микросхемы EPROM тоже программируются на программаторах, но относительно простой интерфейс записи позволяет их программировать и в устройстве (но не в штатном его режиме работы, а при подключении внешнего программатора). Стирание микросхем осуществляется ультрафиолетовым облучением в течение нескольких минут. Специально для стирания микросхемы имеют стеклянные окошки. После программирования эти окошки заклеивают для предотвращения стирания под действием солнечного или люминесцентного облучения. Время стирания: зависит от расстояния до источника облучения, его мощности и объема микросхемы (более емкие микросхемы стираются быстрее). Вместо штатных стирающих устройств можно пользоваться и обычной медицинской лампой с расстояния порядка 10 см. Для микросхем 2764 ориентировочное время стирания составляет 5 минут. Стирание переводит все биты в единичное состояние. «Недостертые» микросхемы при программировании могут давать ошибки, передержка при стирании снижает количество возможных циклов перепрограммирования (в пределе до нуля).

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

С программированием ПЗУ приходится сталкиваться при замене (или восстановлении) системной BIOS или Boot POM — микросхемы удаленной загрузки для адаптера локальной сети. Распространенные программаторы EPROM имеют интерфейс подключения к COM или LPT порту PC или подключаются через собственную карту расширения (обычно с шиной ISA). Время программирования зависит от типа и объема микросхемы и применяемого алгоритма программирования. Вся процедура программирования может затягиваться при использовании медленного интерфейса связи программатора с PC (например, COM-порт на скорости 2400 бод) за счет длительной процедуры копирования данных в буфер программатора. Интерфейс микросхем постоянной памяти в режиме чтения совпадает с интерфейсом статической памяти. Для программирования (записи) требуется приложение ко входу Vpp напряжения программирования, которое для различных типов EPROM лежит в диапазоне 12-26 В (обычно указывается на корпусе микросхемы). Комбинации управляющих сигналов, формирующие импульсы записи для EPROM разной емкости, различны. При напряжении на входе Vpp 5 В и ниже модификация памяти (запись) невозможна ни при каких комбинациях управляющих сигналов, и микросхемы работают строго в режиме ROM. Этот режим и используется для микросхем BIOS, так что никакой вирус им не страшен. Основные свойства EPROM:

  • стирание информации происходит сразу для всей микросхемы по воздействием облучения и занимает несколько минут;
  • стертые ячейки имеют единичные значения всех бит;
  • запись может производиться в любую часть микросхемы побайтно, в пределах байта можно маскировать запись отдельных бит, устанавливая им единичные значения данных;
  • защита от записи осуществляется подачей низкого (5 В) напряжения на вход Vpp в рабочем режиме (только чтение};
  • защита от стирания производится заклейкой окна.

EEPROM (Electrical Erasable PROM) — электрически стираемые микросхемы ЭСПЗУ, в том числе и флэш память. Флэш память используется и в качестве внешней памяти (как альтернатива дисковой), позволяющей как считывать, так и оперативно записывать новые данные. Стирание микросхем постоянной памяти возможно и электрическим способом. Однако этот процесс требует значительного расхода энергии, который выражается в необходимости приложения относительно высокого напряжения стирания (10-30 В) и длительности импульса стирания более десятка микросекунд. Интерфейс традиционных микросхем EEPROM имел временную диаграмму режима записи с большой длительностью импульса, что не позволяло непосредственно использовать сигнал записи системной шины. Кроме того, перед записью информации в ячейку обычно требовалось предварительное стирание, тоже достаточно длительное.

Микросхемы EEPROM относительно небольшого объема широко применяются в качестве энергонезависимой памяти конфигурирования различных адаптеров. Современные микросхемы EEPROM имеют более сложную внутреннюю структуру, в которую входит управляющий автомат. Это позволяет упростить внешний интерфейс, делая возможным непосредственное подключение к микропроцессорной шине, и скрыть специфические (и ненужные пользователю) вспомогательные операции типа стирания и верификации. Флэш память по определению относится к классу EEPROM, но использует особую технологию построения запоминающих ячеек. Стирание во флэш памяти производится сразу для целой области ячеек (блоками или полностью всей микросхемы). Это позволило существенно повысить производительность в режиме записи (программирования). Флэш память обладает сочетанием высокой плотности упаковки (ее ячейки на 30% меньше ячеек DRAM), энергонезависимого хранения, электрического стирания и записи, низкого потребления, высокой надежности и невысокой стоимости. Современная флэш память имеет время доступа при чтении 35-200 нс, существуют версии с интерфейсом динамической памяти и синхронным интерфейсом, напоминающим интерфейс синхронной статической памяти. Стирание информации (поблочное или во всей микросхеме) занимает 1-2 секунды. Программирование (запись) байта занимает время порядка 10 мкс, причем шинные циклы обращения к микросхеме при записи — нормальные для процессора (не растянутые, как для EPROM и EEPROM).

NVRAM (Non-Volatile Random Access Memory) — общее название энергонезависимой памяти, запись в которую производят при регулярной работе. Это название подразумевает возможность произвольной смены информации не только во всей ее области, но и в отдельной ячейке или небольшом блоке.

FRAM (Ferroelectric RAM) — ферроэлектрическая память (новейший вид энергонезависимой памяти). При ее изготовлении используется железо — ее можно считать эхом старинной памяти на магнитных сердечниках больших машин. Как и флэш память, она в перспективе будет использоваться в самых портативных системах класса PDA (personal digital assistant) — персональный цифровой ассистент). В настоящее время используются устройства емкостью 256 Кбит — 4 Мбит, вскоре ожидаются и 16-мегабитные. В отличие от флэш памяти, у которой число циклов перезаписи принципиально ограничено (хотя и очень велико), ячейки FRAM не деградируют в процессе записи. Провозглашается замена на FRAM даже динамической памяти.

EEPROM со специальными интерфейсами.

Микросхемы флэш памяти с симметричной архитектурой выпускаются и с интерфейсом DRAM (динамической памяти), т. е. с мультиплексированной шиной адреса, стробируемой сигналами RAS# и CAS#. Они предназначены для применения в модулях SIMM или DIMM, устанавливаемых в гнезда для обычной динамической памяти. Таким образом реализуются, например, модули Post-Script для лазерных принтеров и любые резидентные программные модули. Эти модули, естественно, не будут определяться системой как основная память. Также они не будут восприниматься и как модули дополнительного BIOS, поскольку встанут в неподходящие для этого физические адреса. Использоваться эти модули будут только с помощью специального драйвера, который «объяснит» чипсету, какому диапазону адресов пространства памяти соответствуют сигналы выборки банков флэш памяти. Поскольку интерфейс модулей SIMM и DIMM не предполагает сигналов защиты записи, системного сброса и дополнительного питания +12 В, все вопросы, связанные с программированием и защитой, решаются дополнительными элементами, устанавливаемыми на модулях. При использовании 16-битных микросхем такие модули непосредственно не обеспечивают независимую побайтную запись, но она может обеспечиваться программно, маскированием (записью 0FFh) немодифицируемых байт.

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

Флэш память с интерфейсом PCMCIA (PC Card) оптимизирована для построения внешней памяти миниатюрных PC. Модуль флэш памяти в формате PC Card имеет интерфейс дисков IDE (ATA) как на уровне электрических сигналов, так и по системе команд. Кроме собственно микросхем накопителя, этот модуль обычно содержит управляющую микросхему программируемой логики. Поскольку процессы записи считывания такого “диска” не связаны с механическими перемещениями, его производительность (особенно по чтению} на не сколько порядков превышает производительность
самых лучших жестких дисков. Однако цена значительно выше, чем у винчестера. Флэш память в стандарте PC Card логически является устройством внешней памяти. Ее не следует путать с похожей по виду памятью в формате Credit Card, которая является оперативной и вставляется в специальный (не PCMCIA) слот компьютера. Внешнюю память, в отличие от оперативной, в принципе можно вставлять и вынимать без перезагрузки ОС.

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

  • WP# — Write Protect
  • WC — Write Control
  • PP — Programm Protect

Для выбора микросхемы используются либо входы задания внутреннего адреса A [0:2], либо сигнал выборки CS#, с помощью которого контроллер может обратиться к одному из требуемых устройств. Для упрощения внешних схем могут использоваться и несколько сигналов выборки S[0:2], один из которых (S1) иногда инвертирован.

Кроме обычных устройств энергонезависимой памяти с интерфейсом I2C выпускают и специализированные устройства защиты (Security Devices). Например, микросхема X76F041, представляющая собой 4 блока памяти по 128 байт, имеет 64-битный регистр пароля, доступный только по записи. Обращение к микросхеме возможно только при предъявлении правильного пароля (который считать невозможно в принципе). Программируемый управляющий регистр (тоже энергонезависимый) позволяет для каждого блока установить свой режим доступа:

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

Кроме того, есть возможность включения режима саморазрушения после превышения количества попыток доступа с неверным паролем. Такие устройства могут применяться в аппаратных ключах, защищающих программные средства от несанкционированного исполнения и пиратского копирования. Для последовательной идентификации модулей DIMM-168 второго поколения и SODIMM-144 применяются микросхемы EEPROM X24C02 с интерфейсом I2C объемом 256 байт.


Подписаться
Уведомить о

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Top