Флеш пам'ять

Матеріал з Вікіпедії — вільної енциклопедії.

Звичайний приклад флеш пам'яті
Звичайний приклад флеш пам'яті

Флеш пам'ять — це тип довговічної комп'ютерної пам'яті, яку можна видалити чи перепрограмувати електричним методом.
На відміну від Electronically Erasable Programmable Read-Only Memory дії над нею виконуються в блоках, що розташовані у різних місцях(в перших розробках флеш пам'яті її чіп повинен був очищуватись лише один раз). При значно меншій ціні флеш пам'яті у порівнянні з EEPROM, вона стала домінуючою технологією, у випадку, коли необхідно довготривале, стійке збереження інформації. Приклади її застосування найрізноманітніші. Від цифрових аудіо плеєрів, камер до мобільних телефонів і КПК. Флеш пам'ять також використовується в USB Флеш дисках («пальчикового типу» чи тип «переносного диску»), які зазвичай використовуються для глобального збереження та просто передачі інформації між двома комп'ютерами. Деяку популярність вона отримала в геймерському світі, де часто використовували EEPROM'и чи залежні від живлення SDRAM пам'яті для збереження інформації на рахунок прогресу гри.

Зміст

[ред.] Огляд

Флеш пам'ять — це тип пам'яті, яка може на довготривалий час зберігати певну інформацію на своїй платі, зовсім не використовуючи живлення. В додаток можна сказати, що флеш пам'ять пропонує високу швидкість доступу до інформації (хоча вона не настільки висока як у DRAM) і кращий опір до кінетичного шоку, ніж у вінчестерах. Ці характеристики пояснюють популярність флеш пам'яті для приладів, що залежать від батарейок. Іншою приманкою флеш пам'яті є те, що коли вона скомпресована в суцільну «карту пам'яті», стає майже неможливо зруйнувати її стандартними фізичними методами, що дає змогу витримувати високий тиск і кип'ячу воду[1].

[ред.] Принципи операцій

Флеш пам'ять зберігає інформацію в масиві "транзисторів плаваючого затвору", які називаються «комірками», кожен з яких традиційно зберігає по одному біту інформації. Новіші прилади (інколи їх ще називають багатокомірковими приладами) можуть містити більше, ніж 1 біт в комірці, використовуючи два чи більше рівні електричних зарядів, розташованих при плаваючому затворі комірки.
У флеш пам'яті NOR кожна комірка схожа на стандарт MOSFET (оксидний напівпровідниковий полярний транзистор), але у ній є не один затвор, а два. Перший, як в інших MOS транзисторів, — контрольний затвор (КЗ), але інший — плаваючий (ПЗ), замкнений всередині оксидного шару. ПЗ розташований між КЗ і основою. Оскільки ПЗ відокремлений власним заізольованим шаром оксиду будь-які електрони, що поставлені на нього відразу потрапляють в пастку і таким чином зберігається інформація. Коли електрони розташовані на ПЗ вони змінюють (практично видаляють) електричне поле, яке надходить з КЗ, що змінює Вольтажний поріг(Vп) комірки. Хоча, коли комірку «читають», напрямляючи певний вольтаж на КЗ, електричний потік буде або витікати, або ні, в залежності від Vп комірки, який контролюється чисельністю електронів на ПЗ. Ця присутність чи відсутність напруги відчувається і перекодовується у вигляді 1-ничок чи 0-лів і відбувається збереження інформації. У приладі з багатокомірним пристроєм, який зберігає більш, ніж 1 біт інформації в комірці, кількість поточного витоку буде відчуватись, а не просто визначатись присутністю чи відсутністю напруги для визначення числа електронів, що збережені на ПЗ.
Комірці пам'яті NOR надають певне значення, примушуючи електрони витікати з одного джерела до визначеного каналу, далі висока напруга, покладена на КЗ дає досить сильне електричне поле, щоб всмоктати їх у ПЗ. Цей процес називається ефектом ін'єкції гарячих електронів. Щоб видалити (встановити всюди 1-нички перед запрограмовуванням) комірку пам'яті NOR, великий вольтажний диференціал покладають між КЗ і джерелом, який витягує електрони через квантовий тунельний перехід. У приладах з однотипною напругою (теоретично всі чіпи, які доступні нам на сьогоднішній день) ця висока напруга створюється генератором підкачки заряду. Більшість сучасних компонентів NOR пам'яті розділені на чисті сегменти, часто названі блоками чи секторами. Всі комірки пам'яті в блоці повинні бути видалені одночасно. На жаль, метод NOR може в загальному випадку обробляти лише одну частину інформації типу byte чи word.
NAND пам'ять використовує тунельну ін'єкцію для запису і тунельний випуск для видалення. NAND'ова флеш пам'ять формує ядро легкого USB інтерфейсу запам'ятовуючих приладів, які також відомі як USB флешки. Тоді, коли розробники збільшують густину флеш приладів, індивідуальні комірки діляться і кількість електронів в будь-якій комірці стає дуже малою. Парування між суміжними плаваючими затворами може змінити характеристики запису комірки. Нові реалізації, такі як заряджені пастки флеш пам'яті, намагаються забезпечити кращу ізоляцію між суміжними комірками.

[ред.] Історія

Флеш пам'ять (обидва типи — NOR та NAND) була винайдена доктором Фуджіо Масуока, коли він працював на компанію Toshiba у 1984 р. Якщо вірити Toshiba, назва «Флеш» прийшла на думку колезі доктора Масуока — містеру Шої Аріїзумі, оскільки процеси видалення вмісту пам'яті нагадували йому спалах фотокамери(англ. flash). Доктор Масуока запрезентував винахід у 1984 році на зустрічі про Міжнародні Електронні Прилади(IEDM), яка відбулася в місті Сан Хосе, Каліфорнія. Intel побачив високий потенціал цього винаходу і випустив перший комерційний чіп NOR флеш пам'яті у році. Пам'ять, що базується на NOR має довготривалі цикли запису-видалення інформації, проте повноцінний адресний/інформаційний інтерфейс, який дає довільний доступ до будь-якої локації. Це робить його ідеальним для збереження програмного коду, який не потрібно часто оновлювати. Прикладом є комп'ютерний BIOS або програмне забезпечення різноманітних приладів. Цей інтерфейс витримує від 10,000 до 1,000,000 циклів видаляння інформації. Даний тип пам'яті став базою найперших переносних медіа; Compact Flash з самого початку базувався на ньому, хоча потім перейшов на дешевший варіант — NAND пам'ять. NAND флеш пам'ять, яку Toshiba представила на ISSCC у 1989 році стала наступною. У ній швидше проходять цикли видалення-запису, вона має більшу внутрішню мережу, меншу ціну, і в 10 раз міцніша за свого попередника. Проте її інтерфейс вводу/виводу надає лише послідовний доступ до інформації. Саме тому її можна використовувати для пристоїв запису масової інформації, таких, як PC карточки, різні карти пам'яті і, в дещо меншій мірі, для комп'ютерної пам'яті. Перша карточка, що базувалась на форматі NAND була SmartMedia, а після неї поїхали: MMC, Secure Digital, Memory Stick та xD-Picture карти пам'яті. Нове покоління цих форматів стає реальністю з RS-MMC, мікро та miniSD варіанти Secure Digital і нова USB-карта-пам'яті Intelligent Stick. Нові формати поставляються в значно зменшених розмірах, зазвичай менше, ніж 4 см 2.

[ред.] Обмеження

Одним обмеженням флеш-пам'яті є те, що хоча вона і може читати чи запрограмувати одиницю інформації типу байт чи word за один відрізок часу у вибірковому методі доступу, вона також повинна очистити «блок» за той самий час. Стандартно всі біти при такій операції в блоці замінюються на 1. Діючи вже із чистим блоком будь-яке місце в межах блоку може бути запрограмоване. Проте як тільки біт стане рівним 0, лише видалення всього блоку змусить його повернутись назад в положення 1. Іншими словами, флеш пам'ять (особливо флеш NOR) пропонує вибірковий метод читання і програмування операцій, Але не може дозволити вибірковий метод перезапису чи видалення. Хоча місце в пам'яті може бути переписаним до того часу, поки нові значення нульових бітів є надмножиною перезаписаних значень. Наприклад, число, яке складається з чотирьох байтів може бути очищене до 1111 , тоді записане як 1110. Успішний запис до цього числа може змінити його на 1010, тоді на 0010, і нарешті на 0000. Хоча структура інформації у флеш пам'яті не може бути оновлена в кардинально простими шляхами, вона дозволяє «видаляти» її члени, позначаючи їх невірними. Ця техніка повинна бути дещо вдосконалена для багаторівневих приладів, де одна комірка пам'яті тримає більш, ніж 1 біт.
Якщо порівнювати з вінчестером, іншим обмеженням є той факт, що флеш пам'ять має скінченну кількість циклів запису-видалення (більшість комерційно доступних флеш продуктів гарантують витримати 1 мільйон програмних циклів), тому це потрібно мати на увазі при переміщенні програмок, розрахованих для вінчестера (наприклад операційні системи) на такі носії флеш пам'яті, як CompactFlash.
Цей ефект — частвкове зміщення деякими драйверами до файлової системи, які обраховують записи і динамічні переміщення блоків, щоб розтягнути операції запису між секторами, або які обраховують підтвердження запису і переміщення, щоб розтягнути сектори у випадку невдалого запису.
Ціна флеш пам'яті залишається значно вищою ніж відповідна ціна вінчестера, і це (якщо ще це можна докинути зверху до скінченної кількості циклів запису-видалення, про які ми згадували раніше) утримує флеш пам'ять від того, щоб стати основною заміною вінчестерів на нормальних настільних комп'ютерів чи ноутбуків.

[ред.] Доступ на низькому рівні

Низькорівневий доступ до фізичної флеш пам'яті драйвером даного приладу відрізняється від його отримання для звичних пам'ятей. Де звична RAM пам'ять просто-напросто буде відповідати на заклики читання та запису інформації і повертати результат цих операцій в ту ж мить, там флеш пам'ять потребує додаткових роздумів, особливо коли використовується програмна пам'ять на кшталт ROM'а.
Коли зчитування даних може бути здійснена на індивідуальних адресах пам'яті NOR (але не NAND), операції розблоковування (яка робить дії запису і видалення доступними), видалення і запису виконуються зовсім протилежно на всіх флеш пам'ятях. Типовий розмір блоку буде 64, 128 або 256 Кб.
Одна група, яка носить назву ONFI (відкрита група по вдосконаленню NAND інтерфейсу) напрямлена на розробку стандартизованого низькорівневого NAND флеш інтерфейсу, який зробить доступним можливіть взаємодії між NAND приладами від різних вендорів. Мета цієї групи включає розробку стандартизованого інтерфейсу на рівні чіпу (схема розподілу виходів) для NAND пам'яті, стандартний набір команд і механізм самоідентифікації. Специфікацію планують викласти в маси наприкінці 2006 року.

[ред.] Пам'яті типу NOR

Режим читання NOR пам'ятей подібний до читання зі звичайної пам'яті, забезпечені адреси та шина даних вірно прив'язані, тому пам'яті типу NOR виглядають майже так само як і будь-яка залежна від адреси пам'ять. Флеш пам'ять NOR може бути використана як пам'ять типу XIP (execute-in-place), а це означає що вона веде себе як ROM пам'ять, прив'язуючись до конкретних адрес. Флеш пам'ять
NOR немає впорядкування внутрішніх поганих блоків, тому коли флеш блок втрачає свою внутрішню структуру, тоді або програма, яка використовує його повинна вчинити деякі дії, або прилад зупиняє роботу. Розблоковуючи, видаляючи чи записуючи на NOR пам'ять спеціальні команди записуються на першу сторінку прив'язаної пам'яті. Ці команди визначають Загальний Стандартний інтерфейс (CFI), заснований Intel'ом, і флеш область представить список всіх доступних команд фізичного драйвера.
Крім використання в ролі ROM'а, NOR пам'яті можуть, звичайно, також бути розділені файловою системою і тоді використовуватись у будь-якому приладі. Проте файлові системи NOR зазвичай дуже повільні при записі, якщо порівнювати із файловими системами, які побудовані на NAND пам'яті.

[ред.] Пам'яті типу NAND

NAND флеш пам'яті не можуть забезпечити принцип «миттєвий запис» (XIP) через інші конструкційні принципи. Доступ до цієї пам'яті може бути здійснений методом блокових приладів, таких як вінчестери та карти пам'яті. Розмір блоків зазвичай має 512 або 2048 байт. В кожному блоці зарезервовано деяку кількість байт (зазвичай від 12 до 16), які зберігають різноманітні помилки і контрольну суму блоку.
Прилади типу NAND зазвичай залежать від програмної обробки блоків. Це означає, що коли зчитують логічний блок, він прив'язується до фізичного блоку, і що коли прилад має деяку кількість блоків, встановлених за своїми межами, вони встановлюються зі зміщенням, компенсуючи втрату поганих блоків і зберігають первинну і вторинну таблицю прив'язки.
Методи виправлення помилок та визначення контрольної суми зазвичай виявляють помилку, де один біт інформації в блоці невірний. Коли це трапляється, блок позначається як поганий в таблиці логічного розміщення, і його вміст (ще непошкоджений) копіюється у новий блок, а таблиця логічного розміщення знову змінюється. Якщо у пам'яті пошкоджено більш, ніж 1 блок, тоді вміст блоку практично втрачений, тобто стає неможливо відновити оригінальний вміст. Деякі прилади можуть навіть постачатись в комплекті з вже запрограмованою таблицею поганих блоків від виробника, оскільки деколи просто неможливо виробити безпомилкові пам'яті типу NAND.
Перший, вільний від помилок фізичний блок (блок № 0) завжди гарантує свою читальність і не може бути пошкодженим. З цього випливає, що всі життєво важливі вказівники для розподілення пам'яті і впорядкування поганих блоків приладу повинні бути розміщені всередині цього блоку (зазвичай вказівник на погані таблиці блоків, і т.д.). Якщо прилад використовується, щоб завантажувати ОС, цей блок повинен містити Таблицю завантаження (Master Boot Record).
Коли запускати програмне забезпечення з пам'ятей NAND, використовується наступна стратегія віртуальної пам'яті: вмісти пам'яті спочатку нумерується, або просто копіюється в розподілену пам'ять RAM, а тоді вже звідти виконується.
По цій причині деякі системи будуть використовувати комбінації пам'ятей NOR та NAND, де менша NOR пам'ять використовуватиметься як програмний ROM, а більша NAND пам'ять розбивається на розділи файловою системою, щоб зберігати різну інформацію.

[ред.] Об'єм

Стандартні частикни флеш пам'яті (індивідуальні внутрішні компоненти, або «чіпи») дуже сильно відрізняються в об'ємі інформації, від кібібіта до гібібітів кожна. Чіпи часто з'єднують в один, щоб досягнути вищих місткостей для використання в таких приладах як iPod nano або SanDisk Sansa e200. Місткість флеш чіпів дотримується закону Мура, оскільки вони розроблені тими самими процесами, що використовуються й для вироблення інших інтегрованих циклів. Проте в даній технології були також стрибки поза законом Мура через різні інновації.
У 2005 році Toshiba та SanDisk розробили флеш чіп типу NAND, який міг містити 8 гібібітів інформації, використовуючи технологію MLC (багаторівневі комірки), яка зберігала 2 біти інформації в одній комірці. У вересні 2005 року компанія Samsung Electronics анонсувала, що вона розробила перший у світі 16 гібібітний чіп.
У березні 2006 року Samsung анонсує флеш вінчестери з місткістю у 32 гібібайти, по суті з таки самим розміром, як і в найменших вінчестерах ноутбуків. А у вересні 2006 року, Samsung анонсувала результат виготовлення 32 гібібітних чіпів, розміром в 40 нм. [2]
Для деяких продуктів флеш пам'яті, таких як карти пам'яті та USB пам'ять, на середину 2006 року 256Мб-тові і продукти меншої місткості сильно знецінились. Ємність 1Гб стала звичною для людей, які не використовують флеш пам'ять екстенсивно, але все більше і більше клієнтів закуповуються 2-ма та 4-ма Гігабайтними флеш приладами. Hitachi має конкурентноспроможний механізм вінчестера (називається Microdrive), який може поміститись всередині оболонки звичайної карточки CompactFlash. Його ємність — до 8Гб. BiTMicro пропонує 155 Гігабайтний, товщиною у 3.5 дюйми, твердий диск, названий "Edisk"'ом.

[ред.] Швидкість

Флеш пам'ять доступна у декількох швидкостях. Деякі визначають швидкість приблизно в 2Мб/с, 12 Мб/с, і т.д. Проте інші карточки просто мають рейтинг 100x, 130x, 200x, і т.д. Для таких карточок за 1x беруть швидкість 150 Кб/с. Це була швидкість, якою могли передавати інформацію перші CD прилади, і її запозичили флеш карточки пам'яті. Хоча коли порівнювати 100x карточку до карточки, яка передає зі швидкістю в 12 Мб/с використовують наступні перетворення:
150КБ × 100 = 15000 Кб/с
Щоб перетворити Кб в Мб, ділимо на 1024:
15000Кб ÷ 1024 = 14.65 Мб/с
Хоча насправді 100x карточки на 2.65 Мб/с швидші, ніж карточки, які вимірюються у швидкості в 12 Мб/с.

[ред.] Пошкодження інформації та її відновлення

Найбільшою поширеною помилкою втрати інформації карточки флеш пам'яті є те, що її витягують із пристрою, коли інформація ще продовжується писатись. Ситуація погіршується, якщо використовувати несумісні файлові системи, що не розроблені для приладів, які виймаються, або якщо існує асинхронізація (коли інформація ще стоїть в черзі на запис, а в той момент відключають пристрій).
В деяких випадках можливо відновити інформацію з флеш пам'яті. Евристичний метод та метод Грубого втручання є прикладами відновлення, які можуть повернути загальну інформацію, збережену на карті флеш пам'яті.

[ред.] Виробники флеш пам'яті

  • Samsung
  • Intel
  • Atmel
  • Qimonda
  • STMicroelectronics
  • Spansion
  • Sharp Corporation
  • Toshiba
  • Sandisk
  • Micron Technology
  • SimpleTech
  • Kingston Technology
  • Hynix
  • Winbond
  • Excel Semiconductor
  • SST
  • Macronix
  • Lexar
  • Eon Silicon Solution Inc. (ESSI)
  • AMIC Technology


Цю статтю необхідно відформатувати, використовуючи мову розмітки Вікі.
Ви можете допомогти проекту, зробивши це!