Як працює запис NAND-флеш-пам’яті?


14

Нижче представлено моє розуміння роботи флеш-пам’яті NAND.

Спалах NAND працює, спочатку видаляючи всі комірки в одному блоці (фактично встановлюючи його на "1"), а потім вибірково записуючи 0. Моє запитання: Оскільки слово слово розділяється між усіма клітинками на одній Сторінці, як програміст NAND програмує 0 на конкретні комірки сторінки?

Для спалаху NOR легко помітити, що конкретні осередки можна запрограмувати за допомогою введення гарячого електрона (Застосування високої напруги по комірці). Але з NAND це зробити неможливо, оскільки комірки NAND розташовані послідовно один з одним, і неможливо застосувати високу напругу до конкретних комірок. Тож, що робиться в NAND, - це квантове тунелювання, коли рядку Word надається висока напруга для запису 0. Що мені не зрозуміло - як можна зробити цю напругу вибірковою (іншими словами, оскільки лінії слів діляться між клітинками в сторінки, високе напруга для програмування одного біта на 0 не повинно також виводити 0 бітів на сторінку).

Організація масиву пам'яті NAND

Відповіді:


10

Зображення нижче - це більш детальна версія вашої організації масиву пам'яті NAND FLash. Масив флеш-пам’яті NAND розділяється на блоки , які, у свою чергу, поділяються на сторінки . Сторінка є найменшою мірою деталізації даних , які можуть бути вирішені з допомогою зовнішнього контролера .

Масив флеш-пам’яті NAND - Малюнок 2.2 із магістерської дисертації, зв'язаної нижче

Зображення вгорі зображено на малюнку 2.2 "NAND Flash Memory Array" від: Vidyabhushan Mohan . Моделювання фізичних характеристик флеш-пам’яті NAND . Магістерська робота. Університет Вірджинії, Шарлоттсвілль. Травень 2010 року.

Для виконання програмної операції , інакше кажучи, записуючи " 0 " s до потрібних комірок, контролеру зовнішньої пам'яті необхідно визначити фізичну адресу сторінки, яку потрібно запрограмувати. Для кожної операції запису необхідно вибрати вільну дійсну сторінку, оскільки спалах NAND не дозволяє операцію оновлення на місці. Потім контролер передає команду програми , дані, які будуть запрограмовані, та фізичну адресу сторінки в чіп.

Коли запит на операцію програми надходить від контролера, вибирається рядок масиву пам'яті ( відповідно до запитуваної сторінки ) і засувки в буфері сторінки завантажуються з записаними даними. ССТ потім включений в той час як GST буде вимкнений з допомогою блоку управління. Для того, щоб відбутися тунелювання FN , необхідно високе електричне поле поперек плавучих воріт та підкладки. Це високе електричне поле досягається встановленням контрольного затвора вибраного ряду на високу напругу Vpgm та зміщенням бітових ліній, що відповідають логічному «0» на землю.

Це створює велику різницю потенціалів на плавучих затворах і підкладці, викликаючи тунелі електронів від підкладки на плаваючі ворота. Для програмування " 1 " (яке в основному не програмує) комірка пам'яті повинна залишатися в тому ж стані, що і перед операцією програми. Хоча застосовуються різні методики для запобігання тунелювання електронів для таких клітин, ми припускаємо, що програма, що самозміцнюється, гальмує роботу.

Ця техніка забезпечує необхідну програму заборона напругу шляхом приведення в дію бітових рядків , відповідні логічний « 1 » , щоб Vcc і включення в SSL і виключення в GSL . Коли рядок слів вибраного рядка піднімається до Vpgm , ємність серії через керуючий затвор, плаваючий затвор, канал і масу об'єднуються, автоматично збільшуючи потенціал каналу та запобігаючи тунелюванню FN.


Ця інформація була взята та узагальнена звідси, а більш детальну інформацію про програмування NAND Flash-пам’яті також можна знайти з цього джерела.


Дякуємо, що узагальнили тезу, на яку ви вказали. Чи не могли б ви пояснити трохи простіше, як на комірки, які залишаються на "1", не впливає тунелювання, що відбувається в спільному рядку слів? З того, що я зрозумів у викладеному вами уривці, всі ті біти, які мають однаковий спільний слововий рядок, також присвоюють однакову напругу відповідним бітам. Завдяки цьому електричне поле через плаваючий затвор для таких транзисторів є досить низьким, щоб їх значення зберігалося до '1'. Крім того, чому GSL вимкнено, як GSL допомагає?

В основному простими словами, наявність або відсутність зарядів всередині ФГТ спричиняє зсув нижнього порогового значення ФГТ, який використовується для розрізнення логічного «1» від логічного «0». Один FGT ніколи не програмується самостійно. Одночасно запрограмована лише група FGT; ця група FGT відповідає сторінці в цьому випадку, і це пояснює, чому NAND адресований блоком замість бітової адреси. Сподіваюся, це зрозуміло.
gbudan

Ви кажете "включивши SSL", але на схемі під назвою SSL немає нічого. Крім того, ваше "тут для більш детальної інформації" - це мертве посилання.
Стеєв

@Steev - Дякую за те, що підкреслив, що початкові посилання були мертвими. Я знайшов робоче посилання на тезу, яка була основою цієї відповіді, і оновила посилання вище. Дивіться тут для сторінки Теза письменника, який включає в себе цю тезу.
СамГібсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.