- •Розділ VIII запам’ятовуючі пристрої
- •8.1. Постійні запам’ятовуючі пристрої (принципи побудови, типи, характеристики)
- •8.1.1. Одновимірні пзп
- •8.1.2. Двовимірне декодування в пзп
- •8.1.3. Мікросхеми пзп
- •8.2. Репрограмовані пзп
- •8.2.1. Принципи побудови репрограмованих пзп
- •8.2.2. Мікросхеми рпзп
- •8.2.2.1. Паралельні еерrom
- •8.2.2.2. Послідовні eeprom
- •8.2.2.3. Eeprom з трьохпровідною послідовною шиною
- •8.2.3. Флеш-пам’ять
- •8.2.3.1. Основи побудови флеш пам’яті
- •8.2.3.2. Мікросхеми флеш-пам’яті
- •8.3. Використання пзп
- •8.3.1. Використання пзп як універсальних комбінаційних схем
- •8.3.2. Пзп як нелінійні функціональні перетворювачі
- •8.3.3. Перетворювачі кодів для матричних індикаторів
- •8.3.4. Використання пзп для реалізації складних способів модуляції
- •8.3.5. Використання пзп у генераторах періодичних послідовностей
- •8.3.6. Використання пзп у скінченних мікропрограмних автоматах
- •8.4. Оперативні запам’ятовуючі пристрої
- •8.4.1. Статичні озп
- •8.4.2. Динамічні озп (dram)
- •8.4.3. Використання озп
- •8.4.3.1. Використання озп як інформаційного буфера
- •Контрольні питання
- •Вправи і завдання
8.2.3. Флеш-пам’ять
8.2.3.1. Основи побудови флеш пам’яті
Запам’ятовуючі пристрої, що мають назву флеш-пам’яті (Flash memory), побудовані подібно до EEPROM, але окремі архітектурні і експлуатаційні властивості обумовили необхідність її розгляду як окремої групи репрограмованих ПЗП. Головною особливістю флеш-пам’яті є те, що стирання записаної в неї інформації забезпечується не окремими словами (байтами), а в цілому для всієї мікросхеми або досить великих її розмірів. Це дає можливість суттєво спростити схемотехніку, підвищити інформаційну ємність і швидкість.
Одночасне стирання всієї інформації РПЗП має і свої недоліки. Головний з них полягає в тому, що заміна навіть одного слова у флеш-пам’яті вимагає стирання і нового перезапису всієї інформації. Оскільки такий недолік не допустимий для великої кількості задач, то, поряд із флеш-пам’яттю з загальним стиранням (BULK ERASE) пам’яті, були розробленні мікросхеми на основі блочної структури, в яких весь об’єм пам’яті ділиться на блоки, що стираються незалежно один від іншого.
У цілому розвиток архітектур флеш-пам’яті йде по двох основних напрямах. Перший з них розвиває мікросхеми пам’яті для зберігання даних і програм, які не дуже інтенсивно змінюються – наприклад, у мобільних телефонах, модемах, BIOS персональних комп’ютерів, системах керування автомобільними двигунами. Такі дані часто називають параметричними. Для цього напряму, в зв’язку з порівняно рідким оновленням вмісту, параметри циклів стирання та запису менш суттєві, порівняно з інформаційною ємністю та швидкістю зчитування. В пристроях пам’яті цього напряму використовують як загальне стирання, так і спеціальні архітектури з поблочним стиранням. Пам’ять з параметричними блоками використовується для зберігання телефонних номерів, обліку часу, використання у SIM-картках, для зберігання кодів помилок та параметрів оптимальних режимів роботи.
Серед мікросхем з поблочним стиранням слід виділити мікросхеми з спеціалізованими блоками, які призначені для зберігання програм ініціалізації системи, тобто програм, що вводять систему у робочій стан після вмикання живлення. Такі блоки називають блоками завантаження (Boot Blocks), а мікросхеми з такими блоками мають назву Boot Block Flash Memory. У Boot Block зберігаються також програми для програмування та стирання флеш-пам’яті.
Мікросхеми, що використовують Boot Block, здебільшого мають несиметричну структуру. Приблизний вигляд карти пам’яті, приведений на рис. 8.31 (для мікросхеми з ємністю 4 Мбіт).
3FFFFH 3E000H |
16K Byte Boot Block |
3DFFFH 3D000H |
8K Byte Parameter Block |
3CFFFH 3C000H |
8K Byte Parameter Block |
3BFFFH 30000H |
96K Byte Parameter Block |
2FFFFFH 20000H |
128K Byte Main Block |
1FFFFH 10000H |
128K Byte Main Block |
0FFFFH 00000H |
128K Byte Main Block |
Рис. 8.31
Блок (BLOCK) – це область пам’яті з фіксованим діапазоном адресних кодів. При стиранні блоку пам’яті стираються всі елементи пам’яті всередині блоку. При цьому інформація в інших блоках залишається незмінною. Оскільки флеш-пам’ять не допускає перезапису окремих слів, а тим більше окремих біт без попереднього стирання всього блоку пам’яті, то для розв’язання вказаних задач використовуються програмні методи емуляції перезапису байта з використанням двох параметричних блоків ємністю по 8 Кбайт, які показані на рис. 8.31.
У блоках параметрів (PARAMETER BLOCK) зберігаються дані та програми, що змінюються відносно часто, – наприклад, діагностичні програми, коди ідентифікаторів і т. п. В основних блоках (MAIN BLOCK) зберігаються основні дані. Різниця між блоками полягає також у тому, що інформація, записана у BOOT BLOCK, апаратно захищена від випадкового стирання.
Окрім мікросхем з несиметричною картою пам’яті, виготовляються мікросхеми і з симетричним розміщеними BOOT-блоками на початку та в кінці адресного простору, що забезпечує симетричне зчитування даних як по зростанню адресного коду, так і по його зменшенню.
Другий напрямок розвитку флеш-пам’яті – це мікросхеми з великою ємністю ((64…128) М), які використовуються для зберігання великих обсягів інформації, тобто для заміни носіїв на магнітних дисках. Такі пристрої пам’яті містять у собі більш розвинені засоби перезапису інформації і побудовані на основі симетричних карт. До такого типу відноситься файлова система флеш-пам’яті, яка в останні роки все більше замінює дискові запам’ятовуючі пристрої, оскільки має значно меншу споживану потужність, значно більшу надійність, значно більші швидкості зчитування інформації, зберігаючи при цьому повну сумісність з існуючими засобами керування пам’яттю. Блочна структура файлових пристроїв флеш-пам’яті є аналогом секторів магнітних дисків. Тому ідеологія обміну даними між секторами жорстких дисків дала можливість розробити програми, що забезпечують обмін між флеш-блоками. Оскільки організація обміну між оперативною пам’яттю та жорсткими дисками побудована на сторінковій основі, то для організації швидкого запису інформації у файлових флеш-пристроях передбаченні сторінкові буфери значної ємності, які дозволяють на високій швидкості сприймати деякі обсяги інформації, які потім перезаписується у блоки основної пам’яті з меншою швидкістю. Для файлових пристроїв пам’яті розроблені програми-драйвери, які дозволяють легко узгодити різноманітні апаратні засоби.
Ще одним напрямком розвитку флеш-пам’яті є мікросхеми, які називаються Strata Flash і зберігають в одному елементі пам’яті не один, а два біти. Нова якість обумовлена значним підвищенням точності інтегральних технологій, які дозволили у транзисторі з плаваючим затвором фіксувати не тільки наявність чи відсутність заряду, а й встановлювати його величину. На сучасному рівні розвитку технології чітко можуть фіксуватись чотири рівні заряду, що й забезпечує зберігання в одному елементі пам’яті два біти. Використовуючи багаторівневі компаратори та джерела еталонного струму можна визначити один з чотирьох рівнів струму транзистора, який описується двохрозрядним двійковим кодом у межах 00…11.
Оскільки зберігання двох бітів інформації отримані практично у тих же запам’ятовуючих пристроях, то це дало можливість удвічі збільшити інформаційну ємність флеш-пам’яті на одному кристалі.
Сучасні мікросхеми флеш-пам’яті виготовляються за технологією, яка називається Smart Voltage, що дозволяє використовувати єдину напругу програмування і живлення модулів, забезпечуючи при цьому високу швидкодію мікросхем при зчитуванні інформації, високу надійність запису і найшвидший спосіб програмування. Ряд мікросхем, як приклад, при напрузі живлення 5 В забезпечують зчитування даних за 60 нс, а запис – за 13 мкс.