Чому флеш-пам’ять має бути записана / стерта на сторінках / блоках?


10

Назва говорить все це.

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

Але я читаю всюди, що флеш-пам’ять можна стерти лише блоками блоків, і записати їх можна лише в одиницях сторінки. Однак я не знайшов обґрунтування цього обмеження, і намагаюся зрозуміти, чому це так.

Відповіді:


1

Найкраща відповідь, яку я знайшов на ваше запитання, міститься в розділі Як працює флеш-пам’ять, де написано:

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

Я не розумію, чому "проводка в ланцюзі" дозволяє програмувати бітовий рівень (перехід від 1 до 0), але це може бути пов'язано з іншим способом виконання переходів 1 до 0 (програмування через гарячу ін'єкцію) порівняно з 0 1 перехід (стирання через тунель Фоулера-Нордхейма).


6

Це за визначенням. Флеш-пам’ять, яка дозволяє записувати окремі біти, називається EEPROM .

Flash відрізняється від EEPROM тим, що стирання виконуються в блоках, а не в окремих бітах. Оскільки стирання є відносно повільною операцією, і її потрібно виконувати перед написанням, виконання стирання у великому блоці робить великі операції запису швидшими, завдяки стиранню великої кількості бітів паралельно.

Стирання в блоках також дозволяє спростити роботу ІМС, зменшити вартість. Економія масштабу ще більше знижує вартість спалаху над EEPROM, оскільки спалах у великих кількостях використовується в цей час для твердотільних дисків, тоді як EEPROM використовується в набагато менших кількостях.


дякую за цю відповідь Чи пояснює цей напрямок думки якось пояснення, чому операції з написанням потрібно робити по одному на сторінку?
Gyom

1
@Gyom, це не стосується всіх типів спалаху. Іноді обмеження накладається протоколом (наприклад, SATA не має можливості записати менше 512 байт "секторів"). Залежно від типу спалаху та протоколу, який використовується для доступу до нього, можливо, записати лише один байт у попередньо стертий блок.
Філ Мороз

4

Ви маєте рацію в тому, що немає фізичного обґрунтування необхідності стирання в блокових блоках.

Програмування комірки виконується шляхом створення електричного поля між об'ємною частиною та контрольним затвором, як показано на фіг.1, і те саме уявлення справедливе для стирання комірки, електричне поле у ​​зворотному напрямку виконало б роботу, як показано на фіг.2. введіть тут опис зображення Однак з конструктивних причин генерувати та використовувати негативну напругу досить складно, тому використовувана стратегія - це та, показана на фіг3, шляхом встановлення високої напруги на основній масі (що є логічним заземленням у секторі). Транзистори вибору більше не можна використовувати, лише контрольні ворота можна знизити, і це змушує повне стирання сектора.


Флеш-пам'ять за визначенням стирається в блоці. Ось чому їх називають "спалахом", оскільки операцією стирання ви стираєте багато комірок паралельно. Замість цього в EEPROM ви повинні робити це за кожним байтом, забираючи набагато більше часу. До речі, напруга стирання розділяється між об'ємною та напругою затвора (одна позитивна, одна негативна). Інвертувати напругу набагато простіше, якщо потрібно генерувати та мати справу з дуже високими напругами.
наступний хак

Більшість чіпів мають багато PN-з’єднань, які, як правило, зміщуються таким чином, щоб не проводити. Чи можна було б змістити дроти рядків і стовпців на напруги, необхідні для стирання мікросхеми, без жодного з цих PN-переходів, що заважають речам? Звичайно, можна було б використовувати різні види плавучих свердловин, щоб уникнути проблем з такими PN-місцями, але робити це на клітинній основі, ймовірно, буде надзвичайно дорого.
supercat
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.