Так что, технологии совсем не изменились и нас кругом обманывают? Давайте разберемся, и начнем с того, что рассмотрим некоторые принципы работы flash-памяти.
В 1967 году в незабвенной Bell Labs, инкубаторе множества современных IT-технологий, был построен первый образец EPROM[Erasable Programmable ROM - стираемая/программируемая память "только для чтения". По-русски СППЗУ (стираемое программируемое постоянное запоминающее устройство).] - энергонезависимой памяти, которую можно было неоднократно перепрограммировать (стирая информацию рентгеном). Первые микросхемы энергонезависимой памяти, пригодные для практического применения, появились в 1971 году в стенах лабораторий Intel, которая тогда еще и не мечтала ни о каких процессорах, а позиционировала себя именно как производитель чипов памяти. Первый коммерческий образец EPROM (чип 1701 и его немного усовершенствованный вариант 1702) стирался ультрафиолетом через специальное окошко и потому получил название UV-EPROM (УФ ППЗУ, рис. 1).
В 1974 году в Intel пришел некто Джордж Перлегос (George Perlegos), грек по происхождению и будущий основатель компании Atmel. Под его руководством была разработана микросхема EEPROM[Electrically Erasable Programmable ROM - электрически стираемое программируемое ПЗУ, ЭСППЗУ.] (кодовое название 2816) - чисто электрически перепрограммируемое ПЗУ, прообраз сегодняшней flash-памяти. Основой и EPROM, и EEPROM стал транзистор с плавающим затвором, изобретенный в той же Intel Доном Фрохманом (Don Frohman). И в дальнейшем, несмотря на смены технологических эпох, принцип устройства ячейки энергонезависимой памяти остался неизменным - какой бы способ стирания и записи ни использовался.
Сам термин "flash-память" придумал в июне 1984 года некто Шоджи Аризуми (Shoji Ariizumi), сотрудник корпорации Toshiba, уже после того, как его руководитель доктор Фуджио Масуока (Fujio Masuoka) послал сообщение о новом, изобретенном им типе энергонезависимой памяти на конференцию разработчиков электронных приборов IEDM в Сан-Франциско. Так гласит официальная история, однако на рынок flash-память вывела не Toshiba, а Intel, и только спустя четыре года, в 1988 году, - слишком велики оказались трудности внедрения в производство.
Чтобы лучше понять принцип работы EEPROM, начнем с самого простого - ячейки обычной DRAM[Dynamic RAM - динамическая память "с произвольным доступом", динамическое ОЗУ, оперативное запоминающее устройство.] (рис. 2), схема которой состоит из одного транзистора и одного конденсатора. Последний на схеме выглядит маленьким, но на самом деле занимает места раза в четыре больше транзистора, только в основном вглубь кристалла. Потому ячейки DRAM можно сделать очень малой площади, а значит, во множестве упаковать их в один кристалл, не теряя быстродействия.
Для чтения данных с такой ячейки на линию строк подается высокий уровень, транзистор открывается, и заряд, накопленный конденсатором ячейки, поступает на вход усилителя, установленного на выходе столбца. Отсутствие заряда на обкладках соответствует логическому нулю на выходе, а наличие - логической единице. Обратите внимание, что такая операция откроет все транзисторы выбранной строки и данные окажутся на выходе усилителей по всем столбцам сразу. Естественно, при этом все подключенные конденсаторы немедленно разрядятся (если они были заряжены), отчего процедура чтения из памяти обязана заканчиваться регенерацией данных - не реже, чем каждые 10-15 мс. Регенерация ОЗУ в первых IBM PC и заключалась в осуществлении "фиктивной" операции чтения данных, затем эту функцию возложили на схемы, встроенные в сам модуль памяти.
Современная память (кроме SRAMStatic RAM - статическое ОЗУ, набор триггерных ячеек, могущих находиться в состоянии 0 или 1. Очень быстрая, но громоздкая по устройству и оттого дорогая разновидность оперативной памяти.]) хранит информацию в виде зарядов, и дабы сделать этот процесс энергонезависимым, нужно было решить проблему их утечки. Быстрая утечка зарядов в DRAM обусловлена наличием транзистора, который состоит вовсе не из изолятора, а из хоть и полу-, но проводника, так что даже в запертом виде имеет конечные токи утечки. В соединении с неизбежно маленькой емкостью самого конденсатора это и приводит к быстрому разряду. В идеале следовало бы конденсатор изолировать полностью, но как тогда перезаряжать его при записи информации?