Кратко о EPROM, EEPROM и Flash


После успешной реанимации флешки-зайца я заинтересовался темой флэш-памяти. Всеми этим загадочным аббревиатурами типа LLF, ECC и т.д. Так что это хоть и не моя тема (я занимаюсь веб-программированием и программированием на языках высокого уровня), но все равно интересно – для развития кругозора. Так что начинаю новую серию статей, в которой буду делиться полученными знаниями. В этой серии статей будут рассмотрены различные аспекты флэш-памяти, начиная с историями, устройством и различиями между NOR Flash и NAND Flash.



В начале 1980-х годов, еще до появления таких удивительных вещей, как сотовые телефоны, планшеты или цифровые камеры, ученый по имени Фудзио Масуока работал на Toshiba в Японии над ограничениями чипов EPROM и EEPROM. EPROM (стираемая программируемая память только для чтения) – это тип чипа памяти, который, в отличие от ОЗУ, например, не теряет свои данные при потере питания - на техническом жаргоне он энергонезависим. Он делает это путем хранения данных в ячейках, состоящих из транзисторов с плавающим затвором.

В EPROM могут быть загружены данные, но эти данные также могут быть стерты с помощью ультрафиолетового света, чтобы можно было записать новые данные. Этот цикл программирования и стирания известен как цикл стирания программы (или цикл PE) и важен, потому что это может произойти только ограниченное количество раз на устройстве. Однако, хотя перепрограммируемый характер EPROM был полезен в лабораториях, он не был решением для встраивания в потребительскую электронику – в конце концов, включение ультрафиолетового источника света в устройство сделало бы его громоздким и коммерчески нежизнеспособным.

Последующее развитие памяти, известно как EEPROM: в нем стиралась информация электрическим полем, а не с помощью света. В отличие от EPROM, EEPROM также может стирать и программировать отдельные байты, а не весь чип. Однако EEPROM также имел недостаток: каждая ячейка требовала по крайней мере двух транзисторов вместо одного, необходимого в EPROM. Другими словами, они хранили меньше данных: у них была более низкая плотность.

Прибытие Flash

Идея Масуоки, представленная как патент США 4612212 в 1981 году, брала преимущества EPROM и EEPROM и откидывала их недостатки. Он использовал только один транзистор на ячейку (увеличивая плотность, т. е. объем данных, который он мог хранить) и все еще позволял перепрограммировать их электричеством.

Новая конструкция достигла этой цели, только позволяя стирать и программировать несколько ячеек сразу вместо отдельных. Это не только дает преимущества плотности EPROM и электрически-перепрограммируемые преимущества EEPROM, оно также приводит к меньшему времени доступа: используется меньше времени, чтобы выдать одиночную команду для программирования или стирания большое количества ячеек.

Однако число ячеек, затронутых одной операцией стирания, отличается – и намного больше - чем число ячеек, затронутых одной операцией программирования. И именно этот факт, прежде всего, приводит к поведению, которое мы видим от устройств, построенных на флэш-памяти. В следующих постах мы рассмотрим, что именно происходит, когда происходят операции программирования и стирания, прежде чем перейти к рассмотрению типов доступных flash (SLC, MLC и т. д.) и их поведения.

Тем временем, мы все должны поблагодарить нашего хорошего друга доктора Масуоку за флэш-память, которая позволяет нам носить с собой телефоны и планшеты в карманах и SD-карты в наших цифровых камерах. Кстати, популярная легенда гласит, что название флэш (Flash, англ ”вспышка") пришло от одного из коллег доктора Масуоки, потому что процесс стирания данных напомнил ему вспышку камеры.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.



тегизаметки, Flash, история, флешки




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.



Основы модульного тестирования на PHP
Урок 25. Несколько операторов Else If в JavaScript
Расширение hideCommLJ