Сделай Сам Свою Работу на 5

Организация и программирование флэш-памяти 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 по включении питания, переход на другое значение должен производиться через выключение питания.

Флэш-память фирмы AMD

Фирмой AMD выпускается несколько семейств микросхем флэш-памяти. Первые из них были близки по характеристикам к флэш-памяти Intel первого поколения


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

(Bulk Erase, стирание и программирование 12 В): это Am28F256/512/ 010/020. В отличие от аналогичных микросхем Intel, Am28F256/512 не имели стоп^тайме-ра, что требовало точной выдержки при программировании и стирании. Следующим этапом были микросхемы Am28F256A/512A/010A/020A со встроенным алгорит­мом программирования, отличающимся от алгоритма микросхем Intel второго поколения как последовательностью команд, так и способом определения момен­та окончания операций. Для защиты от случайного выполнения команды состоят из 3-6 шинных циклов, причем для них существенен и адрес (табл. 7.28). Состо­яние выполнения операций стирания или программирования определяется по результату данных, полученных в шинном цикле чтения по адресу ячейки, уча­ствующей в операции (а не регистра состояния, как у Intel). Для определения окон­чания операций может использоваться метод Data# Polling или Toggle Bit. Метод Data# Polling основан на анализе бита D7 считанных данных. В начале выполне­ния внутреннего цикла он устанавливается инверсным по отношению к тому, что должно быть записано в ячейку. По успешном окончании операции он принима­ет желаемое значение (при стирании — 1). Метод Toggle Bit основан на анализе бита Об, который при каждом шинном цикле считывания во время выполнения операции меняет свое значение на противоположное. По окончании операции он остановится в каком-либо состоянии, при этом об успешности можно судить по биту 7. Единичное значение бита D5 — Exceeded Timing Limits — указывает на превышение допустимого времени выполнения операции.

Микросхемы семейства Am29Fxxx выполняют все операции при одном питающем напряжении 5 В и имеют секторированную структуру (Sector Erase), симметрич­ную (аналогично Flash File) или несимметричную (Boot Block), с верхним (Т) и нижним (В) положением Boot-блока. С помощью программатора каждый сектор может быть защищен от модификации в целевой системе (в отличие от Intel спо­соб установки и снятия защиты фирмой AMD широко не раскрывается). По рас­положению выводов и интерфейсу микросхемы соответствуют стандарту JEDEC для флэш-памяти с одним питающим напряжением. Микросхемы позволяют вы­полнять одновременное стирание группы секторов. Все эти микросхемы, кроме Am29F010, имеют возможность приостановки стирания сектора (Erase Suspend) для выполнения чтения других секторов, a Am29F080/016 позволяют еще и про­граммировать байты во время приостановки стирания.

Таблица7.28. Команды флэш-памяти Am29F010

 

Команда Reset/Read Autoselect Byte Program Chip Erase Sector Erase
Количество
циклов          
1-й цикл Addr 5555h 5555h 5555h 5555h 5555h
Data AAh AAh AAh AAh AAh
2-й цикл Addr 2AAAh 2AAAh 2AAAh 2AAAh 2AAAh
Data 55h 55h 55h 55h 55h

продолжение &


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

Таблица 7.28(продолжение)        
Команда Reset/Read Autoselect Byte Program Chip Erase Sector Erase
3-й цикл Addr 5555h 5555h 5555h 5555И 5555И
Data FOh 90h AOh 80h 80h
4-й цикл Addr - XXOOh/XX01h PA1 5555И 5555h
Data   01h/20h PD2 AAh AAh
5-й цикл Addr - - - 2AAAh 2AAAh
Data -   - ■ ■■ 55h 55h
6-й цикл Addr - - - 5555h SA3
Data - - - 10h 30h

1 PA " адрес программируемой ячейки.

1PD - данные для записи в программируемую ячейку.

3SA - адрес стираемого сектора (значимы биты А16, А15 и А14).

В командах значение бит А15, А16 существенно только при задании адреса ячейки. Ниже описано назначение команд.

♦ Reset/Read — сброс и перевод в режим считывания массива. Производится
автоматически по включении питания и рри получении некорректной коман­
ды (или адреса) в цепочке.

♦ Аи t о s е I е с t — чтение кодов идентификации производителя (А=0), устройства (А=1) или состояния защиты сектора (биты А16-А14 задают адрес сектора, А2-1, остальные биты адреса — нулевые). Результат считывания состояния защищен­ного сектора — Olh, незащищенного — OOh. Идентификаторы и состояние за­щиты могут быть считаны и путем подачи высокого напряжения на вход А9 в шинном цикле считывания.

♦ Byte Program — программирование байта. После четвертого цикла шины на­чинается внутреннее выполнение программирования, при этом чтение по ад­ресу программируемой ячейки выводит биты состояния.

♦ Chi р Erase — стирание всех незащищенных секторов. На время выполнения стирания чтение по любому адресу (кроме адресов, принадлежащих защищен­ным секторам) выводит биты состояния.

♦ Sector Erase — стирание сектора или группы секторов. Стирание начинается через 80 икс после окончания последнего шинного цикла цепочки. До этого момента можно посылать цепочки команд стирания других секторов, выполне­ние начнется через 80 мкс после окончания последней цепочки. Если среди ука­занных секторов имеется защищенный, его стирание не выполняется. На время выполнения стирания чтение по адресу любого из стираемых секторов (кроме защищенных) выводит биты состояния. Бит DQ3 — Sector Erase Timer — ука­зывает на начало выполнения стирания сектора (очередную последователь­ность команд стирания сектора можно начинать, пока бит 3=0).

Следующим этапом стала секторированная флэш-память Am29LVxxx с одним питающим напряжением (3,0 В) для всех операций. У этих микросхем защита


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

любого сектора также устанавливается с помощью программатора стандартной микросхемы EPROM.a также возможно временное снятие защиты в целевой си­стеме. Кроме программной индикации окончания операции (биты 5-7, считанные по адресу ячейки), имеется и аппаратная (сигнал RY/BY*). Также имеется сигнал аппаратного сброса, переводящий в режим чтения.

Вышеперечисленные микросхемы имеют традиционную архитектуру NOR. От них значительно отличается микросхема Am30LV0064D — 64 Мбит (8 Мх8) с архи­тектурой UltraNAND, обеспечивающей быстрый последовательный доступ к дан­ным выбранной страницы. Каждая страница имеет 512 байт данных и 16 допол­нительных байт, используемых, например, для хранения ЕСС-кода. Для выбора страницы при чтении (загрузки во внутренний 528-байтный регистр) требуется около 7 мкс, после чего данные считываются последовательно со скоростью до 20 Мбайт/с (50 не/байт). Таким образом, среднее время на чтение одного байта составляет всего 65 не. Для записи данные (страница полностью или частично) загружаются в регистр с той же скоростью, после чего запись их в массив храня­щих ячеек требует всего 200 мкс. Таким образом, среднее время на запись одного байта составляет всего 430 не — в 20 раз быстрее обычной (NOR) флэш-памяти (скорость записи 2,3 Мбайт/с). Стирание выполняется блоками по 8 Кбайт за 2 мс (в обычной — 600 мс). Микросхем» питается от 3 В. Планируется достижение объема микросхемы до 1 Гбит. Надежность хранения — 10 лет, 104 циклов без­ошибочного программирования, более 106 циклов программирования с коррекци­ей ошибок. Применение — «твердые диски», цифровые камеры, диктофоны и т. п.

Флэш-память других фирм

Микросхемы флэш-памяти выпускаются многими фирмами. Они различаются по организации, интерфейсу, напряжению питания и программирования, методам защиты и другим параметрам. Лидеры в области разработки и производства флэш-памяти — фирмы AMD, Fujitsu Corporation, Intel Corporation и Sharp Corporation летом 1996 года приняли спецификацию CFI (Common Flash Memory Interface Specification), обеспечивающую совместимость разрабатываемого программного обеспечения с существующими и разрабатываемыми моделями флэш-памяти. Эта спецификация определяет механизм получения информации о производителе, организации, параметрах и возможных алгоритмах программирования микросхем флэш-памяти. Для этого микросхемы флэш-памяти должны поддерживать команду опроса QUERY. В первом шинном цикле в микросхему по адресу 55h посылается код 98h (микросхема может и игнорировать адрес, «отзываясь» только на код дан­ных 98h). Во втором шинном цикле, адресованном к этой микросхеме, выполняется чтение данных .идентификационной структуры (на шину адреса микросхемы пода­ется адрес интересующего байта структуры). Этими парами циклов структура может быть считана в произвольном порядке. Идентификационная структура содержит:

♦ ключ-признак наличия структуры — цепочка символов «QRY»;

♦ идентификатор (2 байта) первичного набора команд и интерфейса програм­
мирования;


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

♦ указатель на таблицу параметров для программирования (и саму таблицу);

♦ идентификатор, указатель и таблицу параметров альтернативного набора
команд и интерфейса (если имеется);

♦ минимальные и максимальные значения напряжений питания (основного
и программирующего);

♦ значение тайм-аутов для операций стирания (блока и всей микросхемы) и за­
писи (байта, слова, буфера);

♦ объем памяти;

♦ максимальное число байтов для многобайтной записи;

♦ описания независимо стираемых блоков.

Для перевода в режим чтения массива микросхемы должны воспринимать коман­ду чтения массива Read Ar ray — запись кода FFh (FOh) по любому адресу в мик­росхеме.

Для большинства изделий справедливы тенденции, описанные при рассмотрении микросхем Intel и AMD, а именно — повышение объема, снижение напряжений питания и потребляемой мощности, повышение производительности и упроще­ние внешнего интерфейса для операций стирания и программирования. По ин­терфейсу программирования микросхемы, у которых в начальной части обозна­чения стоит число «28», как правило, близки к флэш-памяти Intel, а с числом «29» — к флэш-памяти AMD.

Микросхемы с буферированным программированием или страничной записью (Fast Page Write) могут не иметь в своей системе команд отдельной операции сти­рания сектора. Внутренняя операция стирания (и предварительного обнуления сектора) выполняется при страничном программировании.

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

Микросхемы флэш-памяти Micron совместимы с Intel и обозначаются аналогич­но, но начинаются с признака MT28F. Среди них есть и особенные, например: MT28F321P2FG - 2 М х 16 Page Flash Memory, MT28F322D18FH - 2 М х 16 Burst Flash Memory.

Фирма Silicon Storage Technology выпускает разнообразные микросхемы флэш-памяти с одним напряжением питания для всех операций. Их свойства можно определить по обозначению вида SST хх YY zzz — ttt, где хх — семейство:

28 — побайтное программирование, посекторное стирание;

29 — страничное программирование с прозрачным стиранием (команда стира­ния сектора отсутствует, внутренняя операция выполняется автоматически перед записью страницы в массив).


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

Элемент YY задает функциональный тип и напряжение питания:

ЕЕ— EEPROM-совместимые, выполнение одной инструкции, Vcc = 5 В;

LE - то же, что и ЕЕ, Vcc " 3 В;

VE - то же, что и ЕЕ, Vcc - 2,7 В;

SF— операции Super Flash Command Register, VCc = 5 В;

♦ IF-то же, что и SF, Vcc-3 В;

♦ W7-то же, что и SF, Vcc = 2,7 В;

DM — Disk Media (для флэш-дисков, требует внешнего контроллера), Vcc = 5 В;

LM — то же, что и DM, Vcc ~ 3 В;

♦ Ш-тоже, что и DM, VCC = 2,7B;

PC — PCMCIA (интерфейс и протоколы), Vcc = 5 В.

Элемент zzz задает объем микросхемы:

♦ 572 - 512 Кбит (64 К х 8);

♦ 070-1Мбит(128Кх8);

♦ 040-4Мбит(512Кх8);

♦ 050 - 8 Мбит (1 М х 8);

♦ 016-16Мбит(2Мх8);

032 - 32 Мбит (4 М х 8).

Элемент ttt задает время доступа при чтении.

Микросхемы SST29EEQ10,29LE010 и 29VE010, часто применяемые в качестве носителя флэш-BIOS, организованы как 1024 страницы по 128 байт с программ­ной и аппаратной защитой. Каждая страница может быть защищена независимо от других. Временные диаграммы стирания и программирования, а также необхо­димое напряжение программирования генерируются внутри микросхемы. Окон­чание операции определяется по алгоритму Toggle Bit или Data# Polling.

Аналогичные параметры имеют микросхемы 29ЕЕ011,29LE011,29VE011 фирмы Winbond.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.