Советы по обустройству современного персонального компьютера.

4.2. Флэш-карты и флэш-накопители.

Первые постоянные запоминающие устройства (Read-Only Memory, ROM) не позволяли изменять однажды записанную информацию. В 1956 году сотрудник корпорации American Bosch Arma Йен Чоу (Wen Chow) получил патент на устройство, которое теперь известно, как «однократно программируемое ROM» (OTPROM). В этом патенте, между прочим, впервые был употреблен термин «прожиг» (burn) – микромодуль состоял из матрицы с плавкими перемычками, которые при программировании пережигались подачей на них большого напряжения. Любопытно, что этот способ вполне дожил до наших дней – не меньше четверти микроконтроллеров (т. е. специализированных микропроцессоров) в мире, особенно из тех, что попроще, еще лет пять назад выпускались именно с такой однократно программируемой встроенной памятью – ввиду крайней ее дешевизны. В самом деле, если программа какой-нибудь игрушки отработана на опытных образцах, зачем ее, однажды записанную, потом менять, и кто этим будет заниматься? И лишь в последние годы «прожигаемая» память стала постепенно вытесняться более удобной flash-памятью – когда последняя подешевела настолько, что смысл в использовании OTPROM почти пропал.

В 1967 году в незабвенной Bell Labs был построен первый образец EPROM – энергонезависимой памяти, которую можно было неоднократно перепрограммировать (стирая информацию ренгеном). В 1971 году (одновременно с изобретением первого микропроцессора) фирма Intel разработала первый коммерческий образец EPROM (чип 1701 и его немного усовершенствованный вариант 1702), который стирался ультрафиолетовым светом через специальное окошко и потому получил название UV-EPROM. В 1974 году в Intel пришел некто Джордж Перлегос (George Perlegos), грек по происхождению и будущий основатель компании Atmel. Под его непосредственном руководством была разработана микросхема EEPROM под названием 2816 – чисто электрически перепрограммируемое ПЗУ. Это и был прообраз сегодняшней flash-памяти. Основой и EPROM, и EEPROM стал транзистор с плавающим затвором, изобретенный в той же Intel Доном Фрохманом (Don Frohman). И в последующем, несмотря на смены технологических эпох, принцип устройства ячейки энергонезависимой памяти остался неизменным – какой бы способ стирания и записи ни использовался.

Некоторые термины и аббревиатуры, относящиеся к памяти.

RAM (Random Access Memory) – память с произвольным доступом. На самом деле это любая память, содержимое которой уничтожается при выключении питания (в чистом виде, без приставок, сокращение RAM часто применяется для обозначения основной памяти ПК). Русское наименование: оперативное запоминающее устройство (ОЗУ) – следует признать более соответствующим смыслу, т. к. термину «с произвольным доступом» соответствуют и многие типы EPROM.

DRAM (Dynamic RAM) – динамическая RAM. Так называют электронную память, которая требует постоянного восстановления (регенерации) своего содержимого даже при включенном питании. По-русски: динамическое ОЗУ или ЗУПВ (запоминающее устройство с произвольной выборкой). Хотя последнее есть фактически перевод более общего термина RAM, но применяется оно обычно к динамической ее разновидности.

SRAM (Static RAM) – статическая RAM, статическое ОЗУ. Энергозависимая память, построенная на триггерах, и потому, в отличие от DRAM, регенерации не требующая, но намного более дорогая и менее емкая в расчете на единицу площади кристалла.

ROM (Read-Only Memory) – память только для чтения. Русское название – постоянное запоминающее устройство (ПЗУ) – более соответствует смыслу, т. к. термин относится ко всем видам энергонезависимой памяти, а не только к тем, что для «чтения» (т. е. и к перезаписываемым тоже – напр., к EEPROM). В чистом виде сокращение ROM употребляется редко.

PROM (Programmable ROM) – программируемое ПЗУ (ППЗУ). В чистом виде, без приставок, обычно относят к OTPROM (One Time Programmable ROM) – однократно программируемое ПЗУ. К PROM также относят такую разновидность, как масочное ПЗУ – вариант OTPROM, который программируется не самим пользователем, а прямо на фабрике в процесс изготовления.

EPROM (Erasable Programmable ROM) – стираемая/программируемая ROM. По-русски ее часто называют ПППЗУ, перепрограммируемое ПЗУ. Иногда употребляется, как синоним ультрафиолетовой UV-EPROM.

EEPROM (Electrically Erasable Programmable ROM) – электрически стираемое перепрограммируемое ПЗУ, ЭСППЗУ.

Flash memory (от flash – вспышка, молния) – первоначально термин придуман для обозначения прогрессивной разновидности EEPROM, в которой чтение/запись для ускорения процесса производятся сразу целыми блоками. Позднее (когда медленная EEPROM почти исчезла из обращения) стал фактическим синонимом EEPROM, и теперь обозначает любые разновидности ЭСППЗУ.

Обновление информации в микросхемах EEPROM – страшно медленный процесс. Во-первых, каждую ячейку требуется сначала стереть – ведь запись, т. е. помещение на плавающий затвор зарядов тем или иным способом, лишь приводит ее в состояние «логического 0», а восстанавливать «логическую 1» приходится отдельно. Во-вторых, из-за большого потребления тока в процессе записи приходится каждую ячейку записывать фактически отдельно, а т. к. этот процесс занимал миллисекунды, то для перезаписи даже сравнительно небольших массивов требовались уже секунды. Правда, чтение из EEPROM – процесс очень быстрый, даже быстрее, чем из обычной компьютерной памяти DRAM.

Термин «flash-память» придумал в июне 1984 года некто Шойи Аризуми (Shoji Ariizumi), сотрудник корпорации Toshiba, уже после того, как его руководитель доктор Фуджио Масуока (р. 1943) послал сообщение о новом, изобретенном им типе энергонезависимой памяти на конференцию разработчиков электронных приборов IEDM в Сан-Франциско. Причем в сообщении Масуоки содержится описание сразу обеих главных современных архитектур flash-памяти: как NOR, так и NAND.

Флэш-память (будем в дальнейшем ее так, по-русски, и называть) отличается от обычной EEPROM тем, что запись (и стирание) в ней производятся целыми блоками, обычно равными классическому размеру сектора на жестком диске – 512 байтов. Это значительно ускоряет процесс записи, но одновременно придает флэш-памяти элементы устройства последовательного доступа, когда для перезаписи одного байта приходится перезаписывать целый блок. Для обычных применений флэш-памяти – в качестве носителей медиаинформации – это небольшой недостаток, к тому же она в этом отношении не отличается от жестких дисков. В такой схеме записи некий массив данных готовится заранее (помещается в специальный временный буфер SRAM, который имеется на том же кристалле, что и основная память), затем все нужные ячейки разом стираются, и разом же в них записывается информация из буфера. В современных типах флэш-памяти скорости чтения и записи практически сравнялись, а емкость отдельных устройств доведена до 32128 Гбайт и даже до 160–250 Гбайт для твердотельных жестких дисков.

Крупнейший недостаток флэш-памяти – ограниченное в сравнении с магнитными носителями или обычной памятью число циклов перезаписи информации, обычно на уровне нескольких десятков тысяч, в крайнем случае сотен тысяч. В жестком диске такой ресурс мог бы исчерпаться за несколько недель или месяцев. Для того чтобы обойти эту проблему, используют метод равномерного распределения записываемой информации по объему карты. В некоторых устройствах, имеющих собственный встроенный контроллер (твердотельные жесткие диски, карты Secure Digital, Compact Flash, USB-накопители), это обеспечивает само устройство, для других были созданы специальные файловые системы: exFAT для Windows и JFFS2 и YAFFS для GNU/Linux.

Наиболее распространены три типа потребительских устройств на основе флэш-памяти: флэш-карточки, флэш-накопители и твердотельные диски. Кратко рассмотрим каждый из типов и их потребительские свойства.