Первые постоянные запоминающие
устройства (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.
Наиболее распространены три типа
потребительских устройств на основе флэш-памяти: флэш-карточки,
флэш-накопители и твердотельные диски. Кратко рассмотрим каждый из типов
и их потребительские свойства.
Флэш-карточки
Флэш-карточки существуют во многих
разновидностях, из которых последнее время доминирует тип SD (Secure
Digital). Названный так за возможность шифрования содержимого
(первоначально SD-карты собирались приспособить к распространению
медийного контента, вроде кинофильмов), этот тип карт, однако, стал
применяться просто как носитель информации во всяческих мобильных
устройствах: от сотовых телефонов и MP3-плееров до фотокамер и
электронных книг. SD делятся по скоростным характеристикам, и если на
карточке указан класс карты (2, 4, 6 и т. д., что означает скорость
записи в Мбайт/с), то обычно перед вами медленная старая карта. На
современных образцах тип не указывают, потому что они заведомо опережают
устаревшую скоростную классификацию. Современные видеокамеры пишут
видео при скорости 24 Мбит/сек (3 Мбайт/сек) – это самая скоростная
задача в бытовой области (больший поток требует разве что многокадровая
автоматическая съемка фотокамер с большой матрицей). Таким образом, для
FullHD-видео требуется SD-карта класса не ниже 4, и это требование
перекрывают все современные карты.
Карты SDHC (High Capacity – высокой
емкости) совместимы с обычными SD «сверху вниз» – устройства, способные
работать с SDHC-картами, поддерживают также и SD-карты. SD/SDHC-карты
существуют в нескольких типоразмерах: обычные, microSD и miniSD, причем
по форм-фактору они не совместимы друг с другом – miniSD короче и
несколько уже обычной, а microSD вообще значительно ее мельче, потому
без соответствующих переходников их в слот для обычной карты вставить
нельзя..
Кроме карт SD, до сих пор распространены
также карты Compact Flash (самый надежный, скоростной и емкий, но
одновременно и самый крупный по размеру тип карт), XD-picture, MMC
(совместима с SD) и другие типы карт, отличающиеся друг от друга
конструктивным оформлением и интерфейсом. Учтите, что не все старые
устройства могут воспринимать современные карточки большой емкости – при
покупке надо проверить этот параметр по инструкции к устройству.
На флэш-картах традиционно используется
простая и удобная файловая система FAT, она обеспечивает оптимальную
производительность контроллера (впрочем, флэшку можно отформатировать в
любой файловой системе, но мобильные устройства могут вас не «понять»).
Для старых карточек использовалась FAT16, которая не поддерживает объемы
более 2 Гбайт, а современные карты применяют систему FAT32. Другая
особенность новых карточек большого объема – при чтении они поддерживают
посекторную адресацию (т. е. только к блокам объемом 512 байтов, как на
жестком диске), в то время как старые карты объемом до 4 Гбайт имеют
побайтную адресацию (как оперативная память).
Для подключения флэш-карточек к компьютеру
применяются различные кардридеры, которые иногда встраиваются в ноутбуки
или принтеры, часто их можно встретить в конструктиве, заменяющем
дисковод для дискет в настольных системных блоках. Все эти устройства
используют порт USB для коммуникации, выпускаются и отдельные
кардридеры, подключаемые к USB-порту. Обычно никаких специальных
драйверов для кардридеров не требуется (за исключением тех, что встроены
в принтеры – для доступа к ним из компьютера).
Стационарные кардридеры (в том числе
встроенные в принтер) неудобны тем, что, подобно дисководу для дискет,
они все время светятся в Проводнике или других файловых менеджерах даже
при отсутствии карты в устройстве. Если в кардридере много гнезд под
разные типы карточек, то таких «дисков» в Проводнике будет тоже показано
много, и бывает сложно отличить пустые гнезда кардридеров от, например,
флэш-накопителя. Чтобы неиспользуемые гнезда кардридеров не мешали, их
можно отключить в Диспетчере задач.
Флэш-накопители (USB-накопители)
Флэш-накопители отличаются от
флэш-карточек только тем, что объединяют в одном конструктиве кардридер и
собственно флэш-память, и в просторечии часто называются просто
«флэшки». Флэш-накопители не различаются по типам, и все устроены
одинаково – компактный корпус заканчивается USB-разъемом типа A. В
Windows, начиная с XP, специальных драйверов для флэш-накопителей не
требуется. Флэш-накопители – это то, что пришло на замену дискетам для
переноса информации с компьютера на компьютер, только намного большей
емкости. Все современные компьютеры позволяют также осуществлять
загрузку с флэш-накопителей (разумеется, для этого «флэшка» должна иметь
специальный загрузочный сектор, как и любые другие диски). Как и
флэш-карточки, флэш-накопители можно форматировать в любой удобной
файловой системе: и в FAT, и в NTFS.
Самое, пожалуй, неудобное свойство «флэшек» (и флэш-карточек, и флэш-накопителей) касается так называемого безопасного извлечения устройств
– перед тем, как вытащить флэшку из разъема, следует проделать
специальную процедуру ее полного отключения. Это дико неудобное свойство
связано с особенностями представления файлов в операционной системе.
Возможно, вы знаете, что в качестве файлов в ОС представляется любой
порт, – даже операция обращения к принтеру есть по сути операция
открытия файла. Но может случиться так, что к моменту физического
отключения соответствующий «файл» оказался не закрыт, и данные попросту
не записаны полностью. Тогда при отключении могут быть различные
неприятности – вплоть до того, что флэшку оказывается невозможно даже
отформатировать заново, чтобы привести в порядок. Такую флэшку останется
только выбросить.
На самом деле, если соблюдать аккуратность,
то специальная процедура «безопасного извлечения устройств» оказывается
необязательной. Прежде всего следует дождаться окончания обмена данными
(о чем можно судить по тому, что лампочка на флэшке перестает мигать) –
если выдернуть флэшку в момент передачи данных, то это почти
гарантированная поломка. Далее для надежности стоит закрыть программу,
через которую осуществлялся обмен, – например, окно Проводника, в
котором отображается содержимое флэш-диска. Убедившись, что больше
никакая программа не претендует на «общение» с устройством, его можно
извлечь.
Конечно, это совет из серии «свой страх и
риск» – полную гарантию дает только обращение к функции безопасного
извлечения устройств. Но автору очень неохота ковыряться в
недружественном интерфейсе этой функции Windows, которая в последних
версиях к тому же перестала полностью отключать устройство, лишь на
словах гарантируя сохранность данных. Пока, соблюдая приведенные ранее
меры предосторожности, мне не удалось испортить ни одного устройства.
Но, разумеется, и я предпочитаю не
рисковать, когда дело доходит, например, до внешних жестких дисков – там
цена ошибки оказывается слишком высокой. Если вам неохота возиться с
утомительным «безопасным извлечением устройств» и в то же время боязно
что-то испортить, то хороший компромисс представляет программа USB
Safely Remove, которая делает процесс извлечения устройства гораздо
удобнее и нагляднее. На диске к этой книге, к сожалению, я не могу ее
разместить – программа платная и стоит в интернет-магазине Softkey.ru
299 рублей. Причем лицензия выдается не компьютеру, а человеку, который
за эти деньги может использовать программу на любом количестве своих
компьютеров.
Твердотельные диски
В 2010 году, по данным компании Gartner, на твердотельных дисках хранилось 7,9 %
информации, но уже к 2012 году эта цифра вырастет вдвое – до 15,9 %.
Как раз когда эта книга была уже подготовлена к печати, пришло известие,
что компания-производитель материнских плат Gigabyte официально
представила материнскую плату со встроенным в нее твердотельным жестким
диском емкостью 20 Гбайт. В данном случае SSD-накопитель будет выполнять
роль емкого буфера памяти, значительно увеличивающего скорость загрузки
работы операционной системы и установленных программ. Для таких систем
Intel выпустила специальный чипсет под названием Z68.
Прогресс в разработке новых типов
флэш-памяти привел к тому, что твердотельные диски (solid-state drive,
SSD) обеспечивают намного большую скорость чтения/записи, чем обычные
магнитные накопители с механическими головками. Прежде всего это
получается потому, что скорость доступа к таким дискам не зависит от
места размещения информации – исключается долгая операция
позиционирования головок. Для SSD не требуется дефрагментация,
упреждающее чтение и другие приемы, ускоряющие обмен информацией с
обычными дисками. В Windows 7 реализована специальная поддержка SSD, но и
другие системы с ними тоже будут работать быстрее.
Кроме того, твердотельные диски не боятся
ударов и сотрясений (обычный жесткий диск запросто можно вывести из
строя, если его просто резко повернуть в процессе обмена информацией),
не так греются и потребляют меньше энергии, не шумят, занимают меньше
места и готовы к работе немедленно после включения – времени на разгон
шпинделя не требуется. Спрашивается – почему же до сих пор SSD не
вытеснили магнитные накопители полностью?
Причиной служит несколько факторов,
определяющим из которых является стоимость – на начало 2011 года для SSD
она составляла от 2 долларов за каждый гигабайт емкости, при примерно 8
центах для жестких дисков. Кроме того, максимальная емкость SSD меньше,
чем у жестких дисков, более чем на порядок (рядовые SSD для
«ширпотребовского» сектора имеют емкость 64-120 Гбайт), и их стоимость
растет прямо пропорционально емкости. Традиционно указывается, что SSD
ограничены количеством циклов перезаписи, однако этот недостаток быстро
выправляется за счет различных ухищрений, и сегодня можно считать, что
срок службы рядового SSD не меньше, чем обычного магнитного диска (т. е.
его емкость исчерпается раньше, чем он успеет выйти из строя).
Потому, если средства вам позволяют,
ставьте в свою систему SSD, не раздумывая. Это обеспечит вам
существенное ускорение работы (например, загрузки ОС), и в целом
компьютер, особенно мобильный, окажется надежней. Никаких особых
действий для этого применять не требуется – интерфейсы SSD точно такие
же, как и у обычных жестких дисков. |