Литмир - Электронная Библиотека
A
A

Ускорение на твердой основе

Автор: Юрий Ревич

Flash-память - из тех самых инноваций, что вписались в нашу действительность легко и непринужденно, и при этом совершенно незаметно. Мобильная связь, КПК, MP3-плееры, цифровые камеры - каждый имел счастье почувствовать на собственной шкуре, как все это возникало, развивалось и входило в повседневную жизнь.

Рынок энергонезависимой памяти в настоящее время растет примерно на 30% в год, и одна из самых интересных сторон этого процесса - борьба за место под солнцем между обычными (магнитными) жесткими дисками (Hard Disk) и твердотельными накопителями (Solid State Disk, SSD). SSD возникли более десяти лет назад и предназначались в основном для военно-промышленных нужд - мало кто другой мог себе позволить накопитель по цене 10-20 баксов за мегабайт. Да и преимущества SSD тогда сводились в основном к собственно "твердотельности" - отсутствие движущихся частей делало их невосприимчивыми к ударам и надежнее в экстремальных условиях (например, к воздействию пыли и повышенной температуры). Вместе с тем первые SSD имели ограниченный срок службы (количество циклов перезаписи не превышало 10-100 тысяч) и были устрашающе медлительными. Если помните, скорость передачи данных в карточках памяти еще лет пять-шесть назад составляла величину порядка единиц мегабайт в секунду (особенно медленно осуществлялась запись), а диски ведь делаются на основе тех же чипов.

Но сейчас все резко изменилось - 2007 год можно назвать годом SSD, когда производители ринулись наперебой предлагать все более емкие и дешевые модели. SSD все еще заметно дороже обычных, но лиха беда начало - особенно они полюбились производителям ноутбуков, где важна не только надежность: диски там маленькие и при тех же скоростях вращения обеспечивают заметно меньшую скорость обмена данными. В популярнейшем и притом дешевом Asus Eee PC вообще нет магнитного накопителя.

Заметим, что в Vista среди прочего рекламируется повышение быстродействия путем размещения свопа на flash-карточке (правда, ощутить ускорение, кажется, никому не удалось, однако звучит здорово). Но это странно: вообще-то скоростные преимущества flash-памяти неочевидны. Берем наугад одну из передовых flash-карточек на рынке, SanDisk CompactFlash Extreme IV, выясняем, что она выпускается емкостью не более 8 Гбайт (а средняя цена ее, по Яндекс.Маркету, - 7 тысяч рублей, совсем недешево). И при этом карта имеет скорость чтения/записи всего 40 Мбайт/с (при 60-90 Мбайт/с, характерных для современных магнитных дисков), достигнутых на самом деле довольно натужным способом: увеличением числа параллельных потоков информации. Карточки и других типов обязаны ускорением тому же принципу: так, разница между классическими и современными MMC (или SD, которые есть просто развитие ММС) заключается в количестве линий передачи данных: у ММС Plus или Mobile на шесть контактов больше, и всего может быть до восьми одновременно работающих каналов перекачки данных. Если один канал, как у "классической" ММС, работает со скоростью около 3 Мбайт/с, то восемь каналов как раз и дадут 20 Мбайт/с, характерных для современных карт.

Так что, технологии совсем не изменились и нас кругом обманывают? Давайте разберемся, и начнем с того, что рассмотрим некоторые принципы работы flash-памяти.

История вопроса

В 1967 году в незабвенной Bell Labs, инкубаторе множества современных IT-технологий, был построен первый образец EPROM[Erasable Programmable ROM - стираемая/программируемая память "только для чтения". По-русски СППЗУ (стираемое программируемое постоянное запоминающее устройство).] - энергонезависимой памяти, которую можно было неоднократно перепрограммировать (стирая информацию рентгеном). Первые микросхемы энергонезависимой памяти, пригодные для практического применения, появились в 1971 году в стенах лабораторий Intel, которая тогда еще и не мечтала ни о каких процессорах, а позиционировала себя именно как производитель чипов памяти. Первый коммерческий образец EPROM (чип 1701 и его немного усовершенствованный вариант 1702) стирался ультрафиолетом через специальное окошко и потому получил название UV-EPROM (УФ ППЗУ, рис. 1).

Журнал "Компьютерра" N733 - pic_38.png

В 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 можно сделать очень малой площади, а значит, во множестве упаковать их в один кристалл, не теряя быстродействия.

Журнал "Компьютерра" N733 - pic_39.jpg

Для чтения данных с такой ячейки на линию строк подается высокий уровень, транзистор открывается, и заряд, накопленный конденсатором ячейки, поступает на вход усилителя, установленного на выходе столбца. Отсутствие заряда на обкладках соответствует логическому нулю на выходе, а наличие - логической единице. Обратите внимание, что такая операция откроет все транзисторы выбранной строки и данные окажутся на выходе усилителей по всем столбцам сразу. Естественно, при этом все подключенные конденсаторы немедленно разрядятся (если они были заряжены), отчего процедура чтения из памяти обязана заканчиваться регенерацией данных - не реже, чем каждые 10-15 мс. Регенерация ОЗУ в первых IBM PC и заключалась в осуществлении "фиктивной" операции чтения данных, затем эту функцию возложили на схемы, встроенные в сам модуль памяти.

35
{"b":"87949","o":1}