Все по полочкам
 
   Адрес www.liquidplanner.com
   Интерфейс английский
   требуется флэш-плагин
   Как ни крути, а любой проект требует основательной подготовки перед реализацией, да и в процессе работы неплохо иметь представление, на каком этапе все находится и укладываемся ли мы в запланированный график. Дополнительные трудности создает ситуация, когда участники проекта разбросаны по разным городам и странам. И здесь помочь может онлайновый сервис Liquidplanner. В его арсенале масса удобных инструментов, позволяющих быстро набросать расписание проекта любой сложности, подключить к нему людей и отслеживать процесс реализации. Есть средства анализа проектов, позволяющие быстро определить, кто из участников выложился на все сто, а кому можно и добавить пару направлений. Имеется и инструментарий для коллективной работы над документами, а также система графического отображения текущего состояния дел.
 
Говорящие браузеры
 
   Адрес www.c2call.com
   Интерфейс английский
   требуется виртуальная машина Java
   Эта идея давно витала в воздухе, но почему-то более-менее качественная ее реализация появилась только сейчас. Что ж, встречайте онлайновый сервис C2Call - IP-телефон, работающий непосредственно из браузера. Выглядит все довольно просто: собеседники регистрируются на сервере, получают свои "номера" и сразу же могут начинать перемывать косточки соседке, не выходя из браузера и не запуская какого-либо специализированного софта. Сервис работает в любой операционной системе, но требует установить на свой ПК виртуальную машину Java. При желании можно избавиться от постоянно открытой страницы сервиса: одним нажатием кнопки все необходимое для ведения онлайновых бесед выводится в отдельный виджет, размещающийся поверх всех остальных программ. Предусмотрена также система приглашения друзей к разговору, работающая с использованием электронной почты.
 

Патентное бюро

 
    Автор: Сергей Леонов
 
Метод поиска террористов
 
США
 
   Судя по художественным фильмам, террористы обязательно используют Интернет. И не просто используют, а заходят на свои террористические сайты и получают через них почту от главарей. Автор заявки решил, что этим фактом как раз и должны воспользоваться антитеррористические службы. Чтобы опознать террориста, надо для начала внедрить в его компьютер или мобильное устройство «червя», распространяемого с интернет-сервера. В связи с тем, что сами террористические сайты правительству США не слишком-то подконтрольны, «червей» предлагается рассадить на обычных сайтах, и побольше - ведь террористы не только на своих ресурсах тусуются. Для проникновения на клиентское устройство предлагается использовать уже известные дыры в защите, а если их не хватит - нетрудно создать новые. Когда же внедренный в компьютер террориста «червь» увидит, что в адресной строке или в поле получателя письма набран адрес террористического сайта, он должен тут же «сдать» пользователя, разослав по нужным адресам всю информацию, которую сможет откопать, - серийный номер процессора, 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 и специальными контроллерами, управляющими всем этим процессом.