Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Организация и программирование флэш-памяти Intel






По организации и программированию можно выделить три поколения флэш-па­мяти Intel.

Микросхемы первого поколения (28F256, 28F512, 28F010, 28F020) представляют собой единый массив памяти, стираемый целиком (bulk erase). Для выполнения стирания и записи микросхемы имеют внутренний регистр команд и управля­ющий автомат WSM (Write State Machine). Стирание и программирование флэш-памяти возможны только при подаче на вход VPP напряжения 12 В по командам, записываемым во внутренний регистр в шинном цикле записи по сигналу WE#.

Выполнение команд инициируется записью кодов команд во внутренний регистр, для чего процессор должен выполнить команду записи в память по адресу, при­надлежащему области программируемой микросхемы флэш-памяти. На микро­схему при этом должны прийти сигналы СЕ# (выбор) и WE# (запись). Последу­ющие обращения к этой области как по записи (W), так и по чтению (R) должны соответствовать исполняемой команде (табл. 7.25). В шинном цикле записи адрес (если он требуется для данной команды) фиксируется по спаду сигнала WE#, фик­сация данных выполнения команды происходит по фронту WE#. Большинство команд подается безадресно (по любому адресу, принадлежащему данной микро­схеме); команда верификации стирания и второй цикл команды программирова­ния подаются по адресу требуемой ячейки. Результаты стирания и программиро­вания считываются по адресу конкретной интересующей ячейки.

Ниже описано назначение команд.

♦ Read Memory — команда чтения данных, переводящая микросхему в режим чтения, совместимый по интерфейсу с EPROM.

♦ Read ID — команда чтения идентификаторов. В последующих шинных цик­
лах чтения по адресу 0 считывается M_Id (Manufacturer Identifier — идентифи­катор производителя, 89h), по адресу 1 — D_Id (Device Identifier — идентифи­катор устройства, для микросхем 8F256, 28F512, 28F010, 28F020 это B9h, B8h, B4h и BDh соответственно). Из этого режима микросхема выходит по записи любой другой действительной команды. Идентификаторы можно читать и путем подачи высокого напряжения на А9 (как и для EPROM).


292________________________________ Глава 7.. Интерфейсы электронной памяти

Таблица 7.25.Команды микросхем флэш-памяти Intel первого поколения  
Команда Число Первый цикл шины1 Второй(третий)цикл шины1
  циклов шины R/W Адрес Данные R/W Адрес Данные
Read Memory   W X ООп - - -
Read ID   W X 90h R 0(1) MJd(D_ld)
Set-up Erase/Erase   W X 20h W X 20h
Erase Verify   W ЕА АОп R X EVD
Set-up Program/Program 2 W X 40h W РА PD
Program Verify   W X COh R X PVD
Reset   W X FFh W X FFh

1 Здесь X обозначает несущественный адрес, M_Id и D_Id — идентификаторы производителя и устрой­ства, EA — адрес ячейки, в которой контролируется стирание, EVD — данные, считанные при верифи­кации стирания (должны быть FFh), РА и PD — адрес и данные программируемой ячейки, PVD — данные, считанные при верификации программирования.

♦ Set-up Erase/Erase — подготовка и собственно стирание. Внутренний цикл
стирания начинается по подъему сигнала WE# во втором шинном цикле и за­вершается по последующему шинному циклу записи или по внутреннему таймеру (Stop Timer). Последующей командой обычно является верификация стирания. Два шинных цикла записи, необходимые для выполнения команды, Снижают вероятность случайного стирания и позволяют отказаться от вы­полнения стирания посылкой команды Reset. Наличие внутреннего таймера позволяет не заботиться о точной выдержке времени для стирания, необхо­димо только выдержать минимальный интервал (около 10 мс). Перед стира­нием все биты микросхемы должны быть предварительно запрограммиро­ваны в нули.

♦ Erase Verify — верификация стирания. Отличается от обычного считывания тем, что проверяемая ячейка ставится в более жесткие условия считывания для повышения достоверности контроля стирания. Между шинными циклами команды верификации должна быть пауза не менее 6 мкс. Алгоритм быстро­го стирания (Quick-Erase) предусматривает предварительное обнуление всех ячеек (командами программирования) и выполнение команды стирания, со­провождаемой верификацией. Команды верификации последовательно вы­полняются для каждой ячейки микросхемы. Если результат считывания от­личается от FFh, производится повторное стирание (длительностью 10 мс), и последующая верификация может начинаться с первой ранее не стертой ячейки. Если количество повторов стирания превышает 3 000, фиксируется ошибка стирания и микросхема признается негодной. Алгоритм позволяет вы­полнить полное стирание микросхемы менее чем за секунду.

♦ Set-up Program/Program — подготовка и собственно программирование.
Команда выполняется аналогично стиранию, но во втором шинном цикле пе­
редается адрес и данные программируемой ячейки, а последующая выдержка
должна составлять не менее 10 мкс.


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

♦ Program Verify— верификация программирования (аналогично верификации стирания), обычно следующая после команды программирования. Между шин­ными циклами команды верификации должна быть пауза не менее 6 икс. Алго­ритм быстрого программирования (Quick-Pulse Programming) предусматрива­ет формирование внутреннего цикла программирования длительностью 10 мкс с последующей верификацией. В случае несовпадения результата выполняет­ся повторное программирование (до 25 раз для каждой ячейки), а если и это не
помогает — фиксируется отказ микросхемы.

♦ Reset — команда сброса, прерывающая команду программирования или сти­рания. Эта команда не меняет содержимое памяти; после нее требуется подача другой действительной команды.

По включении питания внутренний регистр команд обнуляется, что соответству­ет команде чтения, и микросхема работает как обычная микросхема PROM или EPROM. Это позволяет устанавливать микросхемы флэш-памяти вместо EPROM аналогичной емкости. При подаче на вход VPP низкого напряжения (0-6, 5 В) стирание и программирование невозможны, и микросхема ведет себя как обычная EPROM.

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

В отличие от микросхем первого поколения, в шинном цикле записи адрес и дан­ные фиксируются по положительному перепаду WE#. Низкий уровень дополни­тельного управляющего сигнала RP# (в первых версиях обозначался как PWD#) предназначен для перевода микросхемы в режим с минимальным потреблением. В этом режиме модификация содержимого памяти невозможна. Соединение этого вывода в нормальном режиме (когда не требуется перезапись Boot-блока) с системным сигналом RESET* предохраняет микросхему от выполнения ложных команд, которые могут появиться в процессе подачи питания. Внутренние операции стирания и программирования выполняются после посыл­ки соответствующих кодов во внутренний регистр команд. Команды приведены в табл. 7.26. Как и в первом поколении, этот регистр для большинства команд безадресный, но команды программирования и стирания посылаются по требу­емому адресу ячейки (блока). Отработка операций внутренним управляющим ав­томатом отображается соответствующими битами регистра состояния SR (Status Register), по значению которых внешняя программа может получить информацию о результате выполнения и возможности посылки следующих команд. Чтение


294______________________________ Глава 7. Интерфейсы электронной памяти

регистра SR выполняется по специальной команде; есть и команда его очистки. Назначение бит регистра состояния описано ниже.

♦ SR. 7 — WSMS (Write State Machine Status) — состояние управляющего автомата:

• 0 — Busy (занят операцией стирания или программирования);

• 1 — Ready (свободен).

♦ SR.6—ESS (Erase Suspend Status) — состояние операции стирания:

• 0 — стирание завершено или выполняется;

• 1 — стирание приостановлено.

♦ SR. 5 — ES (Erase Status) — результат стирания блока:

• 0 — блок стерт успешно;

• 1 — ошибка стирания.

♦ SR. 4 — PS (Program Status) — результат программирования байта:

• 0 — байт записан успешно;

• 1 — ошибка записи.

♦ SR.3 — VPPS (VpP Status) — состояние VPP во время программирования или стирания:

• 0 — напряжение было в норме;

• 1 — зафиксировано понижение напряжения, и операция прервана.

♦ S R [ 2: 0 ] — зарезервированы.

Таблица 7.26. Команды микросхем флэш-памяти Intel второго поколения

 

Команда Число Первый цикл шины1 Второй (третий) цикл шины1
  циклов шины R/W Адрес Данные R/W Адрес Данные
Read Array/Reset   W X FFh _ - _
Read ID   W X 90h R 0(1) MJd
(DJd)              
Read Status Register   W X 70h R X SRD
Clear Status Register   W X 50h - - -
Erase Setup/Erase Confirm   W ВА 20h W BA DOh
Erase Suspend/Erase   W X BOh W X DOh
Resume              
Program Setup/Program   W РА 40h w PA PD
Alternate Program Setup/   W РА 10h w PA PD
Program2              

1 Здесь X обозначает несущественный адрес, M_Id и D_Id — идентификаторы производителя и устрой­
ства, SRD — данные, считанные из регистра состояния, РА и PD — адрес и данные программируемой
ячейки, В А— адрес блока.

2 Альтернативный код команды программирования; доступен для микросхем емкостью 2, 4 и 8 Мбит.


7.3. Энергонезависимая память______ - ________________________________ 295

Ниже описано назначение команд.

♦ Read Array/Reset — чтение массива памяти (перевод в режим, совместимый
с EPROM) и прерывание операций стирания и программирования.

♦ Read ID — чтение идентификаторов производителя и устройства.

♦ Read Status Register — чтение регистра состояния.

♦ Clear Status Register — сброс регистра состояния.

♦ Erase Setup/Erase Conf i rm — подготовка и стирание блока. В отличие от
микросхем первого поколения, все внутренние операции, необходимые для
стирания (обнуление ячеек блока, стирание и верификация), выполняются
автоматически. При получении команды в регистре состояния устанавливает­
ся признак занятости (SR. 7=0) и любая шинная операция чтения микросхемы будет передавать данные этого регистра. Внешняя программа, периодически опрашивая регистр состояния, дожидается окончания выполнения стирания (когда SR. 7=1). Результат стирания определяется по значению бит 3, 4, 5 (их нулевое значение соответствует успешному выполнению операции).

♦ Erase Suspend/Erase Resume — приостановка/продолжение стирания. Опе­
рацию стирания блока (как самую длительную) можно приостановить для чте­
ния данных из других блоков. После выполнения команды Erase Suspend (код BOh) необходимо дождаться признака приостановки стирания (SR. 6=1), пос­ле чего, подав команду Read Array, можно считывать данные другого блока. По окончании считывания подается команда Erase Resume (код DOh), кото­рая продолжает процесс стирания и снова переводит микросхему в режим чте­ния регистра состояния.

♦ Program Setup/Program — подготовка и программирование ячейки. Эта команда выполняется аналогично подготовке и выполнению стирания, но не может быть приостановлена. Команда выполняет сразу и программирование, и вери­фикацию.

Команды стирания блока и программирования можно подавать, только когда управляющий автомат свободен (бит SR. 7=1). Во время этих операций микросхе­ма следит за уровнем напряжения VPP, и, если оно понижается до порога VPPLK) этот факт регистрируется в регистре состояния и операция прерывается. Также опера­ция прерывается при понижении напряжения питания Vcc до 2, 5 В.

При считывании регистра состояния его мгновенное значение фиксируется по спаду сигнала СЕ# или ОЕ# (самого позднего из них в шинном цикле считывания).

Программирование и стирание Boot-блока отличаются от операций с другими блоками тем, что для них требуется подача высокого потенциала VHH (не ТТЛ, а +12 В) на вход PWD# перед выдачей команды стирания или программирования и удержание его до успешного завершения операции. Альтернативный способ — подача такого же потенциала, но на вход ОЕ# на время пар шинных циклов записи команд стирания или программирования. Попытка программирования Boot-бло­ка без выполнения этих условий не удается, а в регистре состояния одновременно


296________________________________ Глава 7. Интерфейсы электронной памяти

устанавливаются единичные значения бит ES и PS, что индицирует попытку моди­фикации защищенного блока.

Микросхемы Flash-file организованы в виде набора одинаковых блоков, равно­правных (симметричных) по защите (Symmetrical Architecture, SA), Защита от модификации для 28F008SA может осуществляться только для всей микросхемы подачей низкого напряжения на вход VPP. По интерфейсу и командам микросхе­мы совпадают с микросхемами Boot Block (исключая специфику Boot-блока).

Архитектура микросхем 28F016SA существенно изменена, что значительно по­вышает производительность программирования (до 28, 6 Мбайт/с в пакетном режиме) и обеспечивает поблочную защиту. Микросхема имеет два буфера дан­ных для записи по 256 Кбайт. Флэш-память организована как 32 блока по 64 Кбайт, допускающих однобайтное или двухбайтное обращение. С каждым блоком свя­зан собственный 8-битный регистр состояния блока BSRx (Block Status Register). Адреса регистров смещены относительно начального адреса блока на 2 или 1 для режимов обращения х8 или х! 6 соответственно. Назначение бит BSR описано ниже.

♦ BSR. 7 — BS (Block Status) — состояние блока:

• 1 — готов;

• 0 — занят.

♦ B5R. 6 — BLS (Block-Lock Status) — состояние защиты блока:

• 1 — программирование и стирание запрещены;

• 0 — блок не защищен.

♦ BSR.5 — BOS (Block Operation Status) — состояние операции с блоком:

• 1 — операция завершена безуспешно;

• 0 — операция успешно завершена или выполняется.

♦ BSR. 4 — BOAS (Block Operation Abort Status) — состояние отмены операции с блоком:

• 1 — операция отменена;

• 0 — операция не отменялась.

♦ BSR. 3 — QS (Queue Status) — состояние очереди:

• 1 очередь заполнена;

• 0 — очередь доступна.

♦ BSR. 2 -VPPS(VPP Status)- состояние VPP:

• 1 — обнаружен низкий уровень, операция прервана;

• 0 — VPP в норме.

♦ BSR[1: 0] —зарезервированы.


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

Глобальный регистр состояния GSR (Global Status Register) несет информацию о состоянии микросхемы в целом. К GSR можно обращаться по адресу, смещенному относительно начального адреса любого блока на 4 или 2 для режимов обращения х8 или х! 6 соответственно. Назначение бит GSR описано ниже.

♦ GSR.7—W5MS (Write State Machine Status) — состояние автомата записи (и завершенности внутренних операций):

• 1 — занят;

• 0 — свободен.

♦ GSR.6 — 055 (Operation Suspend Status) — состояние приостановки операции:

• 1 — операция приостановлена;

• 0 — операция выполняется или завершена.

♦ G5R. 5 — DOS (Device Operation Status) — состояние операции (копирует бит регистра состояния текущего блока):

• 1 — операция завершена неудачно;

• 0 — операция успешно завершена или выполняется.

♦ G5R. 4 — DSS (Device Sleep Status) — состояние ожидания:

• 1 — ожидание (Sleep);

• 0 — нормальный режим.

♦ GSR.3 — QS (Queue Status) — состояние очереди:

• 1 — очередь заполнена;

• 0 — очередь доступна.

♦ GSR. 2 — PBAS (Page Buffer Available Status) — состояние буферов записи:

• 1 — есть свободный буфер;

• 0 — нет свободного буфера.

♦ GSR. 1 — PBS (Page Buffer Status) — состояние выбранного буфера записи:

• 1 — выбранный буфер свободен;

• 0 — буфер занят операцией с WSM.

♦ GSR.0— PBSS (Page Buffer Select Status) — номер выбранного буфера:

• 1 — выбран буфер 1;

• 0 — выбран буфер 0.

Для сохранения программной совместимости имеется безадресный регистр CSR (Compatible Status Register), полностью совпадающий с регистром состояния 28F008SA и микросхем с архитектурой Boot Block. Все команды этих микросхем доступны. Введены новые команды (табл. 7.27), обеспечивающие расширение функций. Ниже перечислены дополнительные возможности микросхем.


298________________________________ Глава 7. Интерфейсы электронной памяти

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

♦ Двухбайтное программирование при 8-битном использовании.

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

♦ Автоматическая запись из буфера во флэш-массив во время стирания другого
блока. Программная защита позволяет для любого блока установить бит защиты в спе­циальную энергонезависимую область. Запись и стирание защищенного блока может осуществляться только после снятия общей защиты записи по сигналу WP#. Сброс бита защиты блока осуществляется только при его успешном сти­рании или перезаписи.

♦ Стирание всех незащищенных блоков может выполняться одной командой.

♦ Программирование использования сигнала RY/BY*. Возможно разрешение
отображения бита готовности глобального регистра состояния, подачи им­
пульсного сигнала по завершении программирования или стирания (на вы­
бор), а также запрет его формирования.

♦ Перевод микросхемы в режим ожидания (Sleep) с пониженным потреблением В этом режиме возможно считывание состояния и получение команд.

Таблица 7.27. Дополнительные команды микросхем 28F016SA

 

 

 


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



 


299


300________________________________ Глава 7. Интерфейсы электронной памяти

Таблица 7.27 (продолжение)

1 BA - Block Address — адрес блокг, РВА - Page Buffer Address — адрес внутри буфера, RA - Extended
Register Address — адрес дополнительного регистра (BSRx или GSR), WA - Write Address — адрес во флэш-массиве. АО указывает на порядок следования байт в режиме х8{при низком уровне BYTE*):
О - сначала младший, затем старший; 1 - наоборот.

2 AD - Array Data — данные из массива, PBD - Page Buffer Data — данные буфера, WD (L, H) - Write
Data (Low, High) — данные для записи в массив, BSRD - BSR Data — информация регистра состояния блока, GSRD - GSR Data — информация глобального регистра состояния.

3 WC (L, H) - Word Count (Low, High) — счетчик слов. WCL-0 соответствует записи одного слова. Для буфера 256 байт WCH-0. BC (L, H) - Byte Count (Low, High) - счетчик байт. WCL-0 соответствует записи одного байта. Для буфера 256 байт WCH-0.

Микросхема 28F032SA представляет собой два параллельно соединенных крис­талла 28F016SA в одном корпусе. Входы СЕ# одного из них соединены с вывода­ми СЕО# и СЕ1 #, второго — с СЕО# и СЕ2#.

Третье поколение — современные микросхемы, выполненные по технологии SmartVoltage, допускают стирание и программирование при напряжении VPP как 12 В, так и 5 В. В последнем случае эти операции занимают больше времени. Кроме того, операции чтения возможны при пониженном (3, 3 и даже 2, 7 В) напряжении питания Vcc, при этом снижается потребление, но увеличивается время доступа. Для управления защитой данных введен логический сигнал WP# (Write Protect). При его высоком уровне программирование и стирание защищенных блоков выполняют­ся так же, как и остальных. При низком уровне WP# модификация защищенных блоков возможна только при наличии высокого (12 В) напряжения на входе RP#. Для полной защиты от стирания и программирования на вход VPP должен пода­ваться низкий логический уровень (или О В), а не 5 В, как у микросхем с програм­мированием напряжением 12 В.

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






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.