Текст книги "Журнал "Компьютерра" N733"
Автор книги: Компьютерра Журнал
сообщить о нарушении
Текущая страница: 7 (всего у книги 11 страниц)
Патентное бюро
Автор: Сергей Леонов
Метод поиска террористов
США
Судя по художественным фильмам, террористы обязательно используют Интернет. И не просто используют, а заходят на свои террористические сайты и получают через них почту от главарей. Автор заявки решил, что этим фактом как раз и должны воспользоваться антитеррористические службы. Чтобы опознать террориста, надо для начала внедрить в его компьютер или мобильное устройство «червя», распространяемого с интернет-сервера. В связи с тем, что сами террористические сайты правительству США не слишком-то подконтрольны, «червей» предлагается рассадить на обычных сайтах, и побольше – ведь террористы не только на своих ресурсах тусуются. Для проникновения на клиентское устройство предлагается использовать уже известные дыры в защите, а если их не хватит – нетрудно создать новые. Когда же внедренный в компьютер террориста «червь» увидит, что в адресной строке или в поле получателя письма набран адрес террористического сайта, он должен тут же «сдать» пользователя, разослав по нужным адресам всю информацию, которую сможет откопать, – серийный номер процессора, IP-адрес, конфигурацию устройства и прочее. Совсем хорошо, если клиент имеет встроенный GPS, хотя автоматически передавать координаты в систему самонаведения какой-нибудь ракеты автор все же поостерегся.
Наушники, позволяющие слышать внешние звуки
США
Человек, слушающий музыку в наушниках, к внешним звукам, как правило, нечувствителен, особенно если конструкция наушников закрытая или музыка достаточно громкая. Можно, конечно, и громкость уменьшить, и конструкцию изменить, но получите ли вы наслаждение от музыки, если будете слышать на ее фоне все внешние звуки? У авторов этой заявки родилась идея – пользователь должен слышать только то, что он хочет слышать. Если снабдить наушники микрофонами, направленными наружу, а также блоком, обнаруживающим звук определенной громкости и спектрального состава, то при обнаружении нужного внешнего звука воспроизводимый сигнал может быть автоматически приглушен. На что настроить такие наушники – на звонок телефона или голос жены – решать пользователю.
Поиск по электронной почте
США
Оригинальный метод борьбы с накрутками кликов для рекламных ссылок на страницах поисковых систем предлагает автор: запрос от пользователей надо принимать по электронной почте, и ответ сервера также высылать на e-mail. Сам сервис при этом может иметь и обычный веб-интерфейс, только вот рекламные ссылки должны включаться лишь в те ответы, которые отсылаются по электронной почте (и которые будут, как полагает автор, читаться реальными людьми, а не ботами). На сторону пользователей автор себя, видимо, ставить и не пытался, а они будут весьма рады исчезновению рекламы из онлайна. Остается лишь уговорить владельцев поисковых порталов.
Персональная трубка
США
Телефоны-автоматы теряют свою популярность в связи с тем, что у каждого теперь в кармане свой телефон. Авторы решили, что само понятие «публичный телефон» уже пора упразднить, заменив его понятием «публичная телефонная линия». И вешать в общественных местах не ящик с трубкой, а коробку с разъемами. К которой каждый может подойти со своим телефоном, чтобы подключиться вместо сотовой сети к проводной линии (на мобильном телефоне должен быть соответствующий коннектор). В одной такой коробке можно разместить сразу несколько разъемов, чтобы одновременно подключаться могли несколько человек. Кроме того, подобным разъемом предлагается оснастить домашние и офисные телефоны.
Телефон-браузер
США
Firefox и Opera как альтернатива Internet Explorer отдыхают – автор заявки предлагает использовать в качестве браузера… обычный кнопочный телефон. Те, кому приходилось звонить в офисы американских компаний и продираться через целую систему голосового меню, наверняка уже догадались, что идея состоит в зачитывании пользователю текста веб-страницы при помощи синтезатора, а пользователь при этом может выполнять навигацию, используя кнопки телефона в роли стрелок, клавиши Enter и прочих управляющих элементов. Разумеется, подобный сервис предлагается сделать платным, допуская к нему телефон-серферов только по пин-коду. Перечитав дважды текст заявки, я не понял одного: каким образом предлагается набирать адрес начальной страницы (хотя и это не слишком трудно реализовать).
Ускорение на твердой основе
Автор: Юрий Ревич
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).
В 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 обусловлена наличием транзистора, который состоит вовсе не из изолятора, а из хоть и полу-, но проводника, так что даже в запертом виде имеет конечные токи утечки. В соединении с неизбежно маленькой емкостью самого конденсатора это и приводит к быстрому разряду. В идеале следовало бы конденсатор изолировать полностью, но как тогда перезаряжать его при записи информации?
Разгрыз этот орешек вышеупомянутый Дон Фрохман. На рис. 3 показано устройство элементарной ячейки, которая лежит в основе всех современных типов flash-памяти. Если исключить из нее то, что обозначено как "плавающий затвор", мы получим самый обычный полевой транзистор – точно такой же, как тот, что входит в ячейку DRAM на рис. 2. Если подать на управляющий затвор положительное напряжение, транзистор откроется, и через него потечет ток (это считается состоянием "логической 1"). На рис. 3 слева и изображен случай, когда плавающий затвор не оказывает никакого влияния на работу ячейки – например, такое состояние характерно для чистой EEPROM, в которую еще ни разу ничего не записывали.
Если же мы каким-то образом ухитримся разместить на плавающем затворе некоторое количество зарядов – свободных электронов (красненькие кружочки на рис. 3 справа), – то они будут экранировать действие управляющего электрода, и транзистор вообще перестанет проводить ток. Это состояние «логического 0»[Строго говоря, в NAND-чипах (о которых далее) логика обязана быть обратной – если в обычной EPROM запрограммированную ячейку нельзя открыть подачей считывающего напряжения, то NAND нельзя запереть снятием напряжения. Поэтому, в частности, чистая NAND-память выдает все нули, а не единицы, как EPROM и flash-память типа NOR.]. Плавающий затвор потому так и называется, что он «плавает» в толще изолятора (двуокиси кремния), а значит, сообщенные ему однажды заряды в покое никуда деваться не могут. И записанная таким образом информация может храниться десятилетиями.
Осталось всего ничего – придумать, как размещать заряды на изолированном от внешних влияний плавающем затворе. И не только размещать – ведь иногда память и стирать приходится, потому должен существовать способ извлекать данные оттуда. В первых образцах EPROM (UV-EPROM – тех самых, которые стирались ультрафиолетом) слой окисла между плавающим затвором и подложкой был толстым (если, конечно, величину 50 нм можно охарактеризовать словом "толстый"), и при записи на управляющий затвор подавали довольно высокое положительное напряжение – до 40 В, а на сток транзистора – небольшое положительное. При этом электроны, двигавшиеся от истока к стоку, настолько ускорялись полем управляющего электрода, что перепрыгивали барьер в виде изолятора между подложкой и плавающим затвором. Такой процесс называется еще "инжекцией горячих электронов".
Ток заряда при этом достигал миллиампера – можете себе представить, сколько потребляла схема, если в ней одновременно заряжалось хотя бы несколько тысяч ячеек. И хотя такой ток требовался на короткое время (впрочем, с точки зрения быстродействия схемы не такое уж и короткое – миллисекунды), но большое потребление было крупным недостатком всех старых образцов EPROM-памяти. Но еще хуже, что и изолятор, и плавающий затвор такого издевательства долго не выдерживали и постепенно деградировали, отчего количество циклов стирания-записи не превышало нескольких сотен, максимум – тысяч.
В электрически стираемой памяти Джордж Перлегос использовал "квантовый эффект туннелирования Фаулера-Нордхейма". За этим непонятным названием кроется довольно простое по сути (но очень сложное с физической точки зрения) явление: при достаточно тонкой пленке изолятора (ее толщину пришлось уменьшить с 50 до 10 нм) электроны, если их слегка подтолкнуть подачей не слишком высокого напряжения в нужном направлении, могут просачиваться через барьер, не перепрыгивая его. В EEPROM образца 1980-х запись производилась "горячей инжекцией", а стирание – "квантовым туннелированием". Оттого микросхемы эти были довольно сложны в эксплуатации – разработчики со стажем помнят, что первые микросхемы EEPROM требовали два, а то и три питающих напряжения, причем подавать их при записи и стирании требовалось в определенной последовательности.
Превращение EEPROM во flash шло по трем направлениям. В первую очередь избавились от самой противной стадии – "горячей инжекции", вместо которой при записи стали использовать "квантовое туннелирование", как и при стирании. Благодаря этому потребление тока при записи снизилось на несколько порядков. Изолятор, правда, пришлось сделать еще тоньше, что вызвало большие трудности с внедрением этой технологии в производство.
Второе направление – ячейку усложнили, пристроив к ней второй транзистор, который разделил вывод стока и считывающую шину всей микросхемы. Благодаря этим мерам удалось значительно повысить долговечность чипа – до сотен тысяч, а в настоящее время и до миллионов[Правда, при условии использования схем коррекции ошибок.] циклов записи/стирания. Кроме того, схемы формирования высокого напряжения и соответствующие генераторы импульсов записи/стирания перенесли внутрь микросхемы, отчего пользоваться этими типами памяти стало несравненно удобнее – теперь они питались от одного напряжения (5 или 3,3 В).
И наконец, третье, чуть ли не самое главное усовершенствование заключалось в изменении организации доступа к ячейкам на кристалле, вследствие чего этот тип памяти и заслужил наименование flash, то есть "молния".
Flash – значит быстрый
Обновление информации в микросхемах EEPROM – страшно медленный процесс. Во-первых, каждую ячейку требуется сначала стереть – ведь запись, то есть помещение на плавающий затвор зарядов, лишь приводит ее в состояние «логического 0», а восстанавливать «логическую 1» приходится отдельно. Во-вторых, из-за большого потребления тока в процессе «горячей инжекции» каждую ячейку приходится записывать фактически отдельно, а так как этот процесс занимал миллисекунды, то для перезаписи даже сравнительно небольших массивов требовались уже секунды.
Разработчики во главе с упомянутым Фуджио Масуокой решили, что раз потребление при записи удалось снизить, то можно записывать ячейки не индивидуально, а целыми блоками – и тем быстрее, чем крупнее блок. В этой схеме некий массив данных готовится заранее (помещается в специальный временный буфер SRAM, который обычно имеется на том же кристалле, что и основная память), затем все нужные ячейки разом стираются, и разом же в них записывается информация из буфера. Недостатком этого метода стала необходимость перезаписи целого блока, даже если нужно изменить только один бит в одной-единственной ячейке. Но на практике это не вырастает в проблему – основные задачи, которые выполняет энергонезависимая память в современном мире, как раз и заключаются в записи сразу огромных массивов потоковым методом. Вот такая разновидность EEPROM и получила название «flash» – за многократно выросшую скорость записи информации, которая стала сравнима со скоростью чтения.
NAND и NOR
NAND и NOR – англоязычный эквивалент логических функций «И-НЕ» и «ИЛИ-НЕ». Пришедшие из схемотехники, эти термины описывают два разных принципа логического соединения ячеек – отсюда существенная разница и в устройстве, и в функционировании модулей памяти. Первая микросхема flash-памяти, выведенная на рынок компанией Intel в 1988 году (емкостью 32 Кбайт, примерно по $20 за штуку), имела организацию NOR (рис. 4 слева). Все ранние типы EPROM тоже имели подобную структуру. Здесь все просто, как и в DRAM: ячейки в строках матрицы соединены управляющими затворами («линии слов»), а в столбцах – считывающими линиями, которые здесь носят наименование «линии бит».
В 1989 году Toshiba вывела на рынок первую flash-память NAND-разновидности. Ее структура показана на рис. 4 справа и, как видите, значительно отличается от NOR. Ячейки здесь хоть и содержат все тот же транзистор с плавающим затвором, построены иначе. С точки зрения производства, NAND проще и занимает заметно меньше места, чем NOR. Транзисторов-ячеек в каждой конструкции NAND может быть от 16 до 32 штук, но обычно их объединяют в блоки по 256 или 512 байт, которые читаются и записываются только целиком (512 байт – обычная величина сектора на жестком диске). Иногда блоки имеют нестандартную емкость – например, 264 байта ("лишние" 8 байт могут использоваться для хранения контрольной суммы, с целью повышения надежности операций чтения). Блоки могут объединяться и в большие образования – страницы.
Все это сразу указывает на основное назначение NAND-технологии – для построения систем хранения файлов. В последнее время даже Intel, стойко придерживавшаяся линии на усовершенствование NOR-разновидности, сдалась и совместно с Micron занялась разработкой карт на основе NAND-чипов. NAND сейчас доминирует в области скоростных и емких карт памяти, но и NOR в некоторых областях живет и здравствует (она незаменима, если требуется быстрое выборочное чтение, а акты перезаписи сравнительно редки – во flash-BIOS, SIM-картах, встроенной памяти программ микроконтроллеров и тому подобных применениях).
Дальше, выше, быстрее
Со времен Фуджио Масуоки принципиальная придумка в области технологий была только одна: разработчики воспользовались тем, что в ячейке информация хранится, по сути, в аналоговой форме – в виде некоторого количества электронов (кстати, всего лишь около тысячи штук). Если поделить это количество на несколько градаций и строго дозировать электроны при записи, то в одной ячейке можно хранить не один, как в классической схеме, а сразу много бит информации. Так появились многоуровневые ячейки (multi-level cells, MLC). И хотя схемотехника и изготовление такой flash-памяти гораздо сложнее, но выигрыш очевиден – плотность упаковки возрастает многократно. Кроме того, можно применить так называемую многочиповую упаковку (multi-chip packages, MCP), в чем особенно преуспела Samsung.
Но конечного пользователя, кроме емкости устройств, очень волнует скорость чтения/записи. Собственно, оставаясь в рамках классической компоновки, даже для наиболее быстрой в плане чтения NOR-разновидности невозможно достичь скоростей, превышающих 10-20 Мбайт/с (при этом запись будет осуществляться куда медленнее). С ужесточением технологических норм (а сейчас flash-память делают уже по 60-нанометровой технологии) скорость может еще вырасти, но сами понимаете, это не принципиальный выход. Эти скорости, конечно, приближают flash к уровню жестких дисков и приемлемы для записи объемов информации сегодняшних гаджетов (завтра, ясное дело, уже будет не хватать), но для того, чтобы заменить жесткие диски, и тем более обогнать их по производительности, этого решительно недостаточно.
Потому производители и собственно чипов памяти, и конечных продуктов идут на все новые и новые ухищрения – увеличение числа параллельных каналов передачи данных только одно из них. Другое направление повышения скорости обмена – технология OneNAND фирмы Samsung. Объединив на кристалле flash-память типа NAND (притом упакованную по технологии MCP) с буфером на основе высокоскоростной SRAM и добавив некие логические схемы, компания добилась беспрецедентной скорости чтения: 108 Мбайт/с. Скорость записи, впрочем, на порядок ниже и, по разным источникам, составляет от 9,3 до 10 Мбайт/с – что тоже очень здорово (примерно в шестьдесят раз быстрее классической NOR), но все же далеко от идеала. Дабы повысить скорость записи, приходится снабжать карты и flash-диски большими объемами буферной SRAM и специальными контроллерами, управляющими всем этим процессом.
Современные SSD в среднем сравнялись по быстродействию с магнитными дисками (типовые скорости обмена – 60-100 Мбайт/с), и хотя карты памяти и USB-накопители все еще отстают от самых передовых конструкций жестких дисков с интерфейсами SATA и SAS, у твердотельных накопителей есть одно огромное преимущество, которое и позволяет, например, Microsoft говорить об увеличении быстродействия в Vista с дополнительной flash-карточкой. Время доступа к произвольному месту массива у магнитных дисков зависит от поворотливости головок и за последние пятнадцать лет снизилось всего лишь вдвое – типичная величина составляет 8 мс. А у flash-дисков типичное время доступа равно 0,1 мс. Как следствие – у flash-устройств, особенно специализированных, типа SSD, минимальная, максимальная и средняя скорость чтения, в отличие от обычных дисков, практически не отличаются. Потому flash-диски гораздо быстрее традиционных при выборочном чтении, что действительно ускоряет работу, особенно при дефрагментированных данных – в частности, и при взаимодействии со своп-файлом.