Микросхемы FLASH-памяти фирмы SAMSUNG. Справочная информация - промэлектроника Микросхемы flash памяти

Несмотря на прогресс компьютерных технологий еще всего 3-4 года назад много новых компьютеров (а тем более старых) имели в своем составе флоппи-дисковод. Значительное удешевление оптических приводов и компакт-дисков не смогли заменить 3.5-дюймовые дискеты. Неудобно пользоваться оптическими носителями и все тут. Если считывание данных с них еще особого дискомфорта не вызывает, то вот запись и удаление уже требовали какого-то времени. Да и надежность дисков хоть и многократно выше чем у дискет, все равно через какое-то время, особенно после активного использования, начинает падать. Как всегда в самый неподходящий момент привод от старости (своей или диска) "взбрыкнет" и скажет, что диска на горизонте не заметно.

Вот и продержались дискеты так долго. Носить на них какую-нибудь мелочь вроде документов, либо исходных кодов программ еще вполне можно. Но сейчас и для этого типа данных порой не хватает 1.38 Мбайт свободного места.

Решение проблемы замаячило довольно давно. Имя ему флэш-память. Изобретена она была еще в 80-х годах прошлого века, но до реально массовых продуктов добралась к концу 90-х. И причем первое время у нас она была доступна в качестве карт-памяти, а затем в виде MP3-плееров, которые сегодня уже сменили аббревиатуру MP3 на более гордый и обобщающий эпитет "цифровой".

Далее последовало появление USB-флэш накопителей. Процесс их проникновения был по началу не самым быстрым. Начался он с появления решений на 16-64 Мбайт. Сейчас это мизер, но лет 8 назад по сравнению с дискетой это было ого-го как хорошо. А плюс к этому добавлялось удобство работы, высокая скорость чтения/записи и, конечно же, высокая цена. Тогда такие флэшки стояли дороже пишущего оптического привода, которые сами оценивались в сумму порядка $100.

Тем не менее, удобство флэшек оказало решающее влияние на выбор потребителя. В итоге в 2005 году начался настоящий бум. Стоимость флэш-памяти многократно упала, а вместе с ней выросла емкость накопителей. В итоге сегодня за каких-нибудь 2000-2500 рублей можно купить флэшку на 32 Гбайта, тогда как год назад такая стоила чуть ли не вдвое дороже.

Прогресс в области флэш-памяти оказался успешным на столько, что она сегодня уже начинает конкурировать с жесткими дисками. Пока что только в области скорости чтения/записи и времени доступа, а также в энергетических показателях и прочности, но победу по емкости в ближайшие годы также исключать нельзя. Единственное достоинство HDD – это цена. Один "жесткий" гигабайт стоит куда меньше. Но и это лишь вопрос времени.

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

Прошлое

В то время как японские грузчики разгружали одну из первых партий компьютеров Apple, привезенных в холодильниках из-за изображенного яблока на коробках, один японский ученый по имени Фуджио Масуоки трудился в стенах исследовательской лаборатории Toshiba над новым типом памяти. Название ей придумали не сразу, но перспективы изобретения ученому были видны с самого начала.

Впрочем, с названием определились довольно быстро. Коллега Фуджио, господин Шоджи Ариизуми, предложил назвать новую память "flash". Один из переводов этого слова обозначает вспышку фотоаппарата (да и в принципе любую другую вспышку света). На такую мысль Шоджи навел способ стирания данных.

Представлена новая технология была в 1984 году в Сан-Франциско на мероприятии под названием International Electron Devices Meeting (международная встреча производителей электронных устройств), проведенным институтом IEEE. Заметили ее сразу, причем довольно крупные компании. К примеру Intel выпустила свой первый коммерческий NOR-чип уже в 1988 году.

Пять лет спустя, в 1989 году, Toshiba на аналогичном мероприятии представила технологию NAND-флэш памяти. Сегодня именно этот тип применяется в подавляющем большинстве устройств. Почему именно - расскажем в следующем разделе.

NOR и NAND

NOR-память была представлена несколько раньше поскольку она чуть проще в производстве, да и ее транзисторы по своему строению напоминают обычный MOSFET-транзистор (канальный полевой униполярный МОП-транзистор). Разница заключается лишь в том, что в NOR-памяти транзистор в дополнение к контролирующему затвору имеет второй, "плавающий", затвор. Последний при помощи специального изолирующего слоя может удерживать электроны в течение многих лет, держа транзистор не разряженным.

Вообще свое название NOR-память получила из-за работы как NOR-затвор (NOR – логическая операция НЕ-ИЛИ; принимает значение "истина" только когда на оба входа подается "ложь"). Так что пустая ячейка NOR-памяти заполнена логическим значением "1". Кстати, тоже самое касается и NAND-памяти. И, как не сложно догадаться, она свое название получила из-за схожего принципа работы с NAND-затвором (NAND – логическая операция НЕ-И; принимает значение "ложь" только когда на оба входа подается "истина").

Во что выливается на практике эти самые "НЕ-И" и "НЕ-ИЛИ"? В то, что чип NOR-памяти можно очистить только целиком. Хотя в более современных инкарнациях данной технологии чип разбит на несколько блоков, занимающих обычно 64, 128 или 256 Кбайт. Зато этот тип памяти имеет внешнюю шину адресов, что позволяет побайтное чтение и программирование (запись). Это позволяет не только максимально точно получать доступ к данным напрямую, но и исполнять их прямо "на месте", не выгружая всю информацию в оперативную память. Эта возможность называется XIP (eXecute In Place – выполнение на месте).

Стоит также рассказать о сравнительно новой функции NOR-памяти под названием BBM (Bad Block Management - управление бэд-блоками). Со временем часть ячеек может придти в негодность (точнее станет недоступна их запись) и контроллер чипа, заметив это, переназначит адрес таких ячеек на другой, пока еще рабочий блок. Чем-то подобным занимаются и жесткие диски, о чем мы писали в статье " ".

Таким образом NOR-память хорошо подходит для тех случаев, когда требуется максимальная точность считывания данных и довольно редкое их изменение. Догадываетесь к чему мы клоним? Правильно - к прошивкам различных устройств, в частности BIOS системных плат, видеокарт и т.д. Именно там сейчас NOR-флэш и применяется чаще всего.

Что касается NAND, то с ней ситуация чуть "позаковыристей". Чтение данных может осуществляться только постранично, а запись - поблочно. Один блок состоит из нескольких страниц, а одна страница обычно имеет размер 512, 2048 или 4096 байт. Число страниц в блоке как правило варьируется от 32 до 128. Так что ни о каком исполнение "на месте" речи не идет. Еще одно ограничение NAND-памяти - это то, что запись в блок может осуществляться только последовательно.

В итоге подобная точность (хотя правильнее будет сказать "не точность") порой приводит к ошибкам, особенно если приходится иметь дело с MLC-памятью (об этом типе чуть ниже). Для их коррекции применяется механизм ECC. Он может исправить от 1 до 22 бит в каждых 2048 битах данных. Если исправление невозможно, то механизм определяет наличие ошибки во время записи или стирания данных и блок помечается как "плохой".

Кстати, для предотвращения образования бэд-блоков во флэш-памяти существует специальный метод под названием "wear levelling" (дословно "уровень износа"). Работает он довольно просто. Поскольку "живучесть" блока флэш-памяти зависит от количества операций стирания и записи, а для разных блоков это количество разное, контроллер устройства подсчитывает число этих операций для блоков, стараясь со временем проводить запись на те, что использовались меньше. То есть на те, которые меньше "изношены".

Ну а что касается области применения NAND-памяти, то благодаря возможности более плотного размещения транзисторов, а заодно более дешевого их изготовления, она как раз и используется во всех картах флэш-памяти и USB-флэшках, а также SSD.

Ну и немного об SLC (Single-Level Cell - одноуровневая ячейка) и MLC (Multi-Level Cell - многоуровневая ячейка) ячейках. Изначально был доступен только первый тип. Он предполагает, что в одной ячейке может храниться только два состояния, то есть один бит данных. Чипы MLC были придуманы позже. Их возможности чуть шире - в зависимости от напряжения контроллер может считать с них более двух значений (как правило четыре), что позволяет хранить в одной ячейке от 2 и более бит.

Достоинства MLC на лицо - при том же физическом размере в одну ячейку помещается вдвое больше данных. Недостатки, впрочем, не менее существенны. Прежде всего это скорость считывания - она естественно ниже, чем у SLC. Ведь требуется создание более точного напряжения, а после этого необходимо правильно расшифровать полученную информацию. И тут же возникает второй недостаток - неизбежные ошибки при считывании и записи данных. Нет, данные не повреждаются, но это сказывается на скорости работы.

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

  • SLC NAND – до 100 тысяч циклов;
  • MLC NAND – до 10 тысяч циклов;
  • SLC NOR – от 100 до 1000 тысяч циклов;
  • MLC NOR – до 100 тысяч циклов.

Вот вам и еще один недостаток MLC-памяти - она менее долговечна. Ну а NOR-флэш вообще вне конкуренции. Правда, от этого мало толку обычному обывателю - все равно его флэшка вероятнее всего построена на основе NAND-флэш, да еще и на MLC-чипах. Впрочем, технологии не стоят на месте и уже в массы постепенно идет NAND-флэш с миллионым циклом записи и стирания данных. Так что со временем эти параметры станут для нас мало существенными.

"Карточки"

Разобравшись с типами флэш-памяти теперь перейдем к реальным продуктам на ее основе. Само собой описание микросхем BIOS мы опустим, поскольку большинство читателей они интересуют мало. Также как не имеет смысла рассказывать о USB-флэшках. С ними все предельно просто: подключаются через интерфейс USB, установленные внутри чипы целиком и полностью зависят от производителя. Стандартов для этих носителей никаких нет, если не считать необходимость наличия совместимости с USB.

Зато стандарты требуются для флэш-карт, которые сегодня используются в цифровых фотоаппаратах, плеерах, мобильных телефонах и других мобильных устройствах. Карт-ридер для них имеется в большинстве ноутбуков и нетбуков, а еще такой можно встретить в бытовых DVD (или Blu-ray) проигрывателях, либо автомагнитолах.

Для этих устройств существует одна универсальная характеристика - число поддерживаемых карт памяти. Порой на карт-ридерах можно увидеть гордые надписи "20-в-1" или даже "30-в-1", означающие число поддерживаемых форматов. Но что самое удивительное, принципиально разных массовых форматов всего 6. Все остальные - это их модификации. Вот на этих шести стандартах мы и остановимся далее.

CompactFlash

Формат CompactFlash занимает особое место среди всех остальных форматов карт флэш-памяти. Прежде всего потому, что он был самым первым массовым стандартом. Его представила компания SanDisk в 1994 году. И до сих пор он активно применяется в цифровых зеркальных камерах, а также компьютерах-роутерах и других узкоспециализированных устройствах.

Самое интересное, что первые CF-карточки были основаны на NOR-чипах производства Intel. Но потом довольно быстро были переведены на NAND-флэш, что позволило снизить стоимость и повысить емкость.

CompactFlash создавался как формат для внешнего хранения данных. Но поскольку 15 лет назад карт-ридеров не было, да и USB только проектировался, CF-карты были созданы на основе спецификаций интерфейса ATA (IDE). Таким образом такая карточка может быть подключена к обычному IDE-разъему или вставлена в слот PC Card через пассивный адаптер. Именно поэтому CompactFlash очень удобно использовать в роутерах и аналогичных устройствах - скорость и большой объем там не требуются, а вот размеры, ударостойкость и малый нагрев куда более актуальны.

Кроме того не составляет труда сделать переходник для интерфейса USB или FireWire. И, что самое интересное, большинство карт-ридеров используют систему ввода/вывода CompactFlash для обмена данными между компьютером и другими форматами: SD/MMC, Memoty Stick, xD и SmartMedia.

Теперь о различных модификациях стандарта CompactFlash. Изначально такие карточки выпускались в едином "картридже" размером 43х36х3.3 мм. Он применяется и сегодня. Но когда был представлен однодюймовый винчестер IBM Microdrive, то был добавлен второй форм-фактор с размерами 43х36х5.0 мм. Таким образом первый стал называться CF Type I, а второй - CF Type II. После того как выпуск Microdrive (и его аналогов) был остановлен актуальность CF Type II сошла на нет.

Имеется у CompactFlash еще несколько ревизий. Их необходимость возникла по мере роста скоростей чтения/записи, а также объема. Так ревизия 2.0 повысила максимальную скорость до 16 Мбайт/с. Позже появилась ревизия 3.0, увеличившая это значение до 66 Мбайт/с. Ну и самая последняя версия 4.0/4.1 позволяет вести обмен данными на скорости до 133 Мбайт/с. Последнее значение соответствует стандарту UDMA133, который также уже теряет свою актуальность.

На смену четвертой ревизии уже подготавливается... нет, не новая ревизия - новый формат - CFast. Его главное принципиальное отличие - использование интерфейса SerialATA вместо IDE. Само собой это полностью перекрывает обратную совместимость с прежним типом разъема, зато увеличивает максимальную скорость до 300 Мбайт/с и возможность наращивания объема куда больше 137 Гбайт. Заметим, что для обмена данными CFast использует семь контактов, как и обычный SATA-интерфейс. Зато питание подается через 17 контактов, тогда как у SATA-устройств их 15. Так что напрямую подключить CFast-карту к материнской плате не получится, придется использовать переходник. Появится такие карточки должны уже в этом году. В январе на CES 2009 уже были продемонстрированы первые образцы емкостью 32 Гбайта.

Теперь остается рассказать о скорости обмена данными и доступных на сегодняшний день объемах карт CompactFlash. Скорость у CF-карточек (да и у остальных накопителей флэш-памяти, кроме SSD, тоже) измеряется точно так, как и у CD-дисков. То есть 1х соответствует 150 Кбайт/с. На самых быстрых представителях красуются надписи 300х, что соответствует есть 45 Мбайт/с. В принципе не мало, но и до жестких дисков на пару с SSD далеко. Но со временем скорость будет только возрастать.

Ну а что касается объема, то за все время были выпущены карты CompactFlash емкостью от 2 Мбайт до 100 Гбайт. Сегодня наиболее распространены варианты от 1 до 32 Гбайт. Впрочем, в продаже уже доступны версии на 48, 64 и 100 Гбайт, хотя они пока что довольно редки. Пока что формат CompactFlash предлагает самые емкие карты флэш-памяти. Но зато другие могут предложить иные преимущества. О них читаем далее.

SmartMedia

Вторым массовым форматом флэш-карт стал SmartMedia. Он был представлен на год позже CompactFlash - летом 1995 года. Собственно, он и создавался как конкурент CF. Что SmartMedia мог предложить? Прежде всего меньшие размеры. А если быть еще точнее, то только меньшую толщину - всего 0.76 мм; ширина и длина таких карточек была 45х37 мм, тогда как у CompactFlash эти параметры почти такие же - 43х36 мм. Надо отметить, что в плане толщины SM пока еще не превзошел ни один другой формат. Даже сверхкомпактные карты microSD "пожирнее" - 1 мм.

Подобного показателя удалось достигнуть благодаря изъятию чипа-контроллера. Он был перенесен в карт-ридер. Да и внутри самой SM-карты по началу мог размещаться один NAND-чип, по потом, по мере совершенствования технологии, их там стало больше.

Но отсутствие контроллера внутри карточки имеет определенные минусы. Во-первых по мере роста объема и выхода новых моделей носителей приходилось обновлять прошивку карт-ридера. Да и не всегда эта операция была доступна, если карт-ридер был совсем уж старым. Также со временем началась путаница с рабочим напряжением карт SmartMedia. Изначально оно было 5.0 В, а потом 3.3 В. И если карт-ридер не поддерживал одно из них, то с такими картами он работать не мог. Более того, при вставке карточки на 3.3 вольта в 5.0-вольтовый карт-ридер она могла повредиться или сгореть.

Во-вторых для формата SmartMedia невозможно использование метода подсчета уровня износа блоков флэш-памяти (метод wear levelling мы описали в прошлом разделе). А это потенциально угрожает сократить срок службы карты памяти.

Впрочем, все это не помешало довольно долго использовать SmartMedia в качестве основного формата для цифровых камер - в 2001 году его поддерживало до половины таких устройств на рынке, хотя тогда и рынок этот был куда поскромнее сегодняшнего. В других цифровых устройствах вроде плееров, КПК или мобильных телефонов SmartMedia себя на нашел. Да и производители камер стали отказываться от SM. Фотоаппараты становились все меньше и малой толщины этих карточек уже было недостаточно. Ну и второй существенный минус - рост потребности в большей емкости. Карты SmartMedia достигли объема всего 128 Мбайт. Планировались варианты на 256 Мбайт, но их так и не выпустили.

А вообще SmartMedia задумывался как замена для 3.5-дюймовых флоппи-дискет. Для них даже был выпущен специальный адаптер под названием FlashPath. Его представили в мае 1998 года и через год их было продано миллион штук. Разработан он был компанией SmartDisk, которая, кстати, выпускала аналогичные адаптеры и для карт MemoryStick и SD/MMC.

Самое удивительное, что работать FlashPath может с любым флоппи-дисководом, отменным логотипом "HD" (High-Density - высокая плотность). Короче подходит любой, который читает 1.44 Мбайт дискеты. Но есть одно "но". Без него никак не обойтись. А тут их даже два. Первое - для распознания FlashPath-адаптера и карточки внутри него требуется специальный драйвер. И если его под нужную ОС не имеется, то она в пролете. Так что загрузится с такой дискеты уже не получится. Второе "но" - скорость работы. Она не превышает таковую при работе с обычной дискеты. И если 1.44 Мбайт можно было скопировать или записать чуть больше чем за минуту, то на 64 Мбайта уйдет больше часа.

Сегодня формат SmartMedia можно назвать мертвым. Некоторые карт-ридеры все еще поддерживают работу с ним (особенно самые понтовые а-ля "все-в-1"), но эта совместимость просто не актуальна. Хотя, конечно, определенную лепту в развитие флэш-технологий этот стандарт внес.

Формат MMC был представлен третьим по счету в 1997 году. Его разработкой занимались SanDisk и Siemens AG. Аббревиатура MMC расшифровывается как MultiMediaCard, что сразу говорит предназначении стандарта - цифровые мультимедийные устройства. Именно там MMC чаще всего и применяется.

В принципе MMC очень сильно связан с SD, особенно их первые версии. Тем не менее, они разошлись в своем развитии и сегодня второй является наиболее распространенным. Так что о нем мы расскажем в следующем подразделе.

MMC в отличие от CompactFlash и SmartMedia имеет более компактные размеры. В плане длины и ширины: 24х32 мм. Толщина карточек MMC составляет 1.4 мм, что примерно в два раза больше, чем у SM. Но этот параметр не так критичен, чем два других измерения.

За все время существования MMC было представлено целых восемь различных модификаций его карт. Первая (просто MMC) для передачи данных использует однобитный последовательный интерфейс, а ее контроллер работает на частоте до 20 МГц. Это означает максимальную скорость не более 20 Мбит/с (2.5 Мбайт/с или примерно 17х). В принципе довольно скромно по современным меркам, но 12 лет назад этого было достаточно.

В 2004 году представили форм-фактор RS-MMC. Приставка RS означает Reduced-Size или "уменьшенный размер". Ее габариты следующие: 24х18х1.4 мм. Можно заметить, что почти в два раза уменьшилась высота. В остальном это была точно такая же MMC-карта памяти. Но для ее установки в карт-ридер необходимо использовать механический адаптер.

Довольно краткоживущим оказался формат DV-MMC (DV означает Dual-Voltage – двойное напряжение). Такие карты могли работать на стандартном напряжении 3.3 В и на пониженном 1.8 В. Нужно это для экономии энергии. Тут явно прослеживается ориентация на мобильные устройства. Но DV-MMC карточки быстро свернули в связи с появлением форматов MMC+ (или MMCplus) и MMCmobile.

MMC+ и MMCmobile довольно существенно отличались от оригинальной спецификации MMC и представляли собой ее четвертую версию. Впрочем, это не мешало им сохранить полную обратную совместимость со старыми карт-ридерами и устройствами, но для использования их новых возможностей требовалось обновление прошивки. А возможности эти были следующими. К однобитному интерфейсу обмена данными добавились 4- и 8-битные. Частота контроллера могла быть от 26 до 52 МГц. Все это поднимало максимальную скорость до 416 Мбит/с (52 Мбайт/с). Оба этих формата поддерживали работу с напряжением 1.8 или 3.3 В. По размерам они не отличились от MMC и RS-MMC, соответственно MMCplus и MMCmobile.

Позднее появился самый маленький MMC – MMCmicro. Размеры карточки были 14х12х1.1 мм. В основе этого формата лежал MMC+ с некоторыми ограничениями. В частности из-за отсутствия дополнительных контактов (у MMC их 7, у MMC+ - 13) интерфейс обмена данными не поддерживал 8-битную передачу данных.

Имеется еще такой не совсем обычный формат как miCard. Его представили летом 2007 года с целью создать универсальную карту, которую можно вставлять как в карт-ридер SD/MMC, так и в разъем USB. Первые карточки должны были иметь емкость 8 Гбайт. Максимум же достигает 2048 Гбайт.

Ну и последний - это SecureMMC. Он также основан на спецификации версии 4.х, что использована в MMC+. Его главная возможность - поддержка DRM-защиты. Кстати, именно этим изначально и отличался формат SD от MMC. SecureMMC – это попытка конкуренции с SD. Так что переходим к этому стандарту.

Формат SD (Secure Digital) на сегодняшний день является наиболее популярным. Он и его модификации используются везде: в цифровых плеерах и фотоаппаратах (даже в зеркальных), в КПК и мобильных телефонах. Вероятно причина этого заключается в его постоянной поддержке и развитии со стороны многих компаний.

Представлен же SD был в 1999 году компаниями Matsushita и Toshiba. Полноразмерная карточка Secure Digital по своим габаритам такая же, как и MMC – 32x24x2.1 мм. Большая толщина объясняется наличием блокирующего от записи ключа. Впрочем, спецификация SD позволяет делать карты и без оного (они называются Thin SD), тогда тощина снижается до 1.4 мм.

Изначально выход SD ставил своей целью конкуренцию с MemoryStick (о нем рассказывается ниже), который поддерживал DRM-защиту медиа-файлов. Тогда компании-разработчики ошибочно предположили, что гиганты медиа-индустрии так насядут на онлайн-магазины, что все файлы будут защищены DRM. Вот и решили подсуетиться.

В основу Secure Digital легли спецификации MMC. Именно поэтому карт-ридеры SD запросто работают с MMC. Почему не наоборот? Для оберегания контактов от износа у карт SD они были несколько утоплены в корпус. Поэтому контакты карт-ридера, нацеленного только на работу с MMC, просто не достанут до контактов SD-карты.

В плане разнообразия форматов SD не менее "скромный", чем его предшественник. Прежде всего стоит отметить, что было представлено еще два форм-фактора: miniSD (20х21.5х1.4 мм) и microSD (11x15x1). Последний изначально был создан SanDisk и назывался как T-Flash, а затем как TransFlash. А после его адаптировала в качестве стандарта ассоциация SD Card Association.

Остальные различия касаются емкости карточек. И тут есть определенная путаница. Началась она еще с первого поколения карт, которые достигли объема 2 Гбайта. SD-карта идентифицируется 128-битным ключом. Из них 12 бит используются для обозначения числа кластеров памяти и еще 3 бита для обозначения числа блоков в кластере (4, 8, 16, 32, 64, 128, 256 или 512 - итого 8 значений, что соответствует трем битам памяти). Ну а стандартный размер блока для первых версий составлял 512 байт. Итого 4096х512х512 дает 1 Гбайт данных. Приплыли.

Когда "сверху" недостаток емкости стал поджимать появилась версия 1.01 спецификации, позволявшая использовать дополнительный бит для дополнительного определения объема блока - он теперь мог быть 1024 или 2048 байт, а максимальная емкость соответственно выросла до 2 и 4 Гбайт. Но вот незадача - старые устройства могли некорректно определять размер новых карт памяти.

В июне 2006 года появилась новая редакция стандарта - SD 2.0. Ему даже новое имя дали - SDHC или Secure Digital High Capacity (Secure Digital высокой емкости). Название говорит само за себя. Основное нововведение SDHC – возможность создания карточек объемом до 2 Тбайт (2048 Гбайт). Минимальная граница в принципе не ограничена, но на практике SDHC-карты имеют объем от 4 Гбайт. Примечательно, что искусственно ограничена максимальная граница - 32 Гбайт. Для более емких карт предлагается использовать стандарт SDXC (о нем ниже), хотя несколько производителей представили SDHC на 64 Гбайта.

Стандарт SD 2.0 использует для определения размера 22 бита данных, но четыре из них зарезервированы для будущего использования. Так что карт-ридеры, изначально не приспособленные для работы с SDHC, не смогут распознать новые карты памяти. Зато новое устройства запросто узнают старые карточки.

Вместе с анонсом формата SDHC появилась идентификация по скоростным классам. Их существует три варианта: SD Class 2, 4 и 6. Цифры эти обозначают минимальную скорость обмена данными для карточки. То есть карта с SD Class 6 обеспечит скорость минимум 6 Мбайт/с. Ну а верхняя граница естественно не ограничена, хотя пока что ситуация с картами SD обстоит примерно так же, как и с CompactFlash – самые быстрые представители достигли скорости 300х или 45 Мбайт/с.

Стоит добавить, что модернизации подверглись и миниатюрные форм-факторы. Про miniSDHC и microSDHC никто не забыл. Правда, попадаются в продаже в основном первые карточки. Сегодня их максимальный объем достиг уже 16 Гбайт, а на подходе 32 Гбайт варианты.

Ну и самая последняя новинка - стандарт . Назвали ли его версией 3.0 или нет, нам так выяснить не удалось. Однако от SDHC он отличается не столь значительно. Прежде всего для него сняли искусственное ограничение на максимальный объем, который теперь может достигать 2 Тбайт. Максимальная скорость обмена данными была повышена до 104 Мбайт/с, а в будущем обещают поднять ее до 300 Мбайт/с. Ну и в качестве основной файловой системы избрали exFAT (о ней рассказано ниже), тогда как SDHC довольствуется в большинстве случаев FAT32. Первые карточки SDXC уже были анонсированы и они имеют емкость 32 или 64 Гбайта. Но продуктов с их поддержкой еще потребуется обождать какое-то время.

Собственно о карточках SD все. Но в рамках этого стандарта выпустили еще несколько интересных вещей. К примеру, спецификацию SDIO (Secure Digital Input Output). Согласно ей используя форм-фактор и интерфейс карт SD можно создавать такие устройства как GPS-ресиверы, контроллеры Wi-Fi и Bluetooth, модемы, FM-тюнеры, Ethernet-адаптеры и др. То есть слот SD в этом случае служит неким аналогом USB.

SanDisk отличилась картами SD Plus, в которые сразу интегрирован USB-коннектор. Довольно интересную разработку представляет собой Eye-Fi. Это карта памяти со встроенным контроллером Wi-Fi. Последний может передавать данные с карточки на любой компьютер. Таким образом нет нужды даже извлекать ее из фотоаппарата или телефона.

Итого на сегодняшний день формат Secure Digital является самым популярным и быстрорастущим. Ему пока что пытается противостоять Sony со своими Memory Stick, но выходит у нее это плохо.

Memory Stick

Компания Sony известна своей нелюбовью к большинству форматов и стандартов, что не были разработаны ею. Оно и понятно - с них лицензионных отчислений не получишь. Так в итоге появились и DVD+R/RW и Blu-ray и карточки Memory Stick. Представленные в октябре 1998 года они до сих пор распространены только среди продукции Sony. Да и их выпуском занимается по большому счету только Sony и немного SanDisk. Итог этого закономерен: сравнительно слабая распространенность и более высокая цена, чем у других флэш-карт аналогичного объема.

За все время существования Memory Stick Sony выпустила целых семь модификаций. Причем, в отличие от MMC, все они в ходу. В итоге возникает закономерная путаница, а заодно производители карт-ридеров могут повысить число распознаваемых стандартов ихними продуктами.

Началось все с просто Memory Stick. Это вытянутая карта памяти размером 50х21.5х2.8 мм. Своей формой она чем-то напоминает пластинку жевательной резинки. Отличалась она, как мы писали выше, поддержкой DRM, которая так и не потребовалась. Емкость варьировалась от 4 до 128 Мбайт.

Со временем этого стало недостаточно, а поскольку обновленного стандарта еще не разработали, был анонсирован формат Memory Stick Select. Это обычная карточка Memory Stick, но внутри нее располагалось два чипа памяти по 128 Мбайт каждый. И между ними можно было переключаться при помощи специального переключателя на самой карте. Не очень удобное решение. Поэтому оно и было временным и промежуточным.

С малой емкостью удалось справиться выпустив в 2003 году Memory Stick PRO. Теоретически такая карта памяти может хранить до 32 Гбайт данных, но на практике более 4 Гбайт их не делали. Само собой большинство старых устройств не распознает PRO-версию, но зато новые запросто узнают Memory Stick первого поколения. Еще большую сумятицу вносит подвариант стандарта High Speed Memory Stick PRO. Такими были все Memory Stick PRO емкостью от 1 Гбайта. Понятно, что они могли работать в специальном высокоскоростном режиме. И очень радует, что все они обратно совместимы и с более старыми девайсами, только что скорость падала до обычной.

Со временем стало ясно, что потребуется идти по пути уменьшения карточек, а то "пластинки" Memory Stick далеко не везде удобно использовать. Так появились Memory Stick Duo размером 31х20х1.6 мм - чуть меньше Secure Digital. Но вот незадача, эти карты имели в своей основе первую версию стандарта Memory Stick, а вместе с ним и ограничение на максимальный объем. 128 Мбайт для 2002 года как-то уже совсем не солидно. Так и появился Memory Stick PRO Duo в 2003 году. И именно этот стандарт сегодня развивается более всего - уже существуют карты на 16 Гбайт, на подходе 32 Гбайт варианты, ну а теоретический предел по уверениям Sony составляет 2 Тбайта.

В декабре 2006 года Sony, совместно с SanDisk, анонсировала новую модификацию своих карт флэш-памяти - Memory Stick PRO-HG Duo. Его главное отличие от других вариантов - более высокая скорость работы. В дополнение к 4-битному интерфейсу обмена данными был добавлен 8-битный. Да и поднялась частота контроллера с 40 до 60 МГц. В итоге теоретический скоростной предел увеличился до 480 Мбит/с или 60 Мбайт/с.

Ну и следуя последнему писку моды в феврале 2006 года появился формат карточек Memory Stick Micro (или его еще называют M2), с габаритами 15х12.5х1.2 мм - это чуть больше microSD. Их емкость варьируется от 128 до 16 Гбайт, а теоретически может быть 32 Гбайта. Через переходник карта памяти M2 может быть вставлена в слот для Memory Stick PRO, но если ее объем более 4 Гбайт, то могут возникнуть определенные проблемы с распознанием.

Вот такая вот загогулина. Если разобраться, то в принципе и не сложно: Memory Stick – оригинальный формат не самых компактных размеров, Memory Stick PRO – вариант с большей емкостью и скоростью работы, Memory Stick (PRO) Duo - уменьшенная версия карточек, Memory Stick PRO-HG Duo – ускоренный вариант Memory Stick PRO Duo, Memory Stick Micro (M2) – самые маленькие Memory Stick. Теперь можно перейти к самому последнему стандарту - xD.

xD-Picture Card

Компании Olympus и Fujifilm посчитали, что существовавшие в первые годы этого века форматы флэш-карт не соответствуют ихним представлениям об идеальном хранилище данных для фотоаппаратов. Иначе чем объяснить разработку собственного стандарта xD-Picture Card?

Из названия формата следует, что он создан для хранения изображений. Но Olympus выпускает на его основе цифровые диктофоны, а Fujitsu - MP3-плееры. Впрочем, последних устройств куда меньше, чем фотоаппаратов с поддержкой xD. Однако если сравнить суммарный объем продаж цифровых камер Fujitsu и Olympus, то они никак не превзойдут показатели лидеров рынка - Canon и Nikon. А лидеры преспокойно используют CompactFlash в зеркальных камерах среднего и высшего уровней, а в остальных отлично прижился стандарт Secure Digital. Ну а раз распространение у карточек xD не очень большое, то в своем развитии они отстают от наиболее популярных форматов, а к тому же стоят дороже их. Примерно в 2-3 раза, если брать карты одной емкости.

Очевидно, что главная ориентация разработчиков формата xD (кстати, выпуском карт на его основе занимаются Toshiba и Samsung) заключалась в уменьшении размера карты памяти. Ее габариты следующие - 20х25х1.78 мм. Примерно как две Memory Stick Micro.

Емкость самой первой версии карт xD варьируется от 16 до 512 Мбайт. Представлены они были в июле 2002 года. Однако в феврале 2005 года появилось первое обновление, позволившее довести максимальный объем до 8 Гбайт. Новый стандарт назывался xD Type M. Увеличить объем удалось за счет применения MLC-памяти, которая в то же время оказалась более медленной. xD-карты Type M достигли объема 2 Гбайт. И пока что этот предел не преодолен ни Type M, ни более новыми стандартами.

Чтобы решить проблему скорости в ноябре 2005 года представили xD Type H. Этот формат был основан на памяти SLC, раз его выпуск решили прекратить в 2008 году из-за высокой себестоимости. Зато ему на смену в апреле 2008 года был выпущен Type M+. Карты этого формата примерно в 1.5 раза быстрее Type M.

Обратная совместимость различных версий форматов xD верна только для самых новых устройств - они запросто распознают более старые версии карточек. А вот старые устройства не обязательно узнают новые карты. Тут примерно такая же ситуация, как и у других стандартов.

Что касается скорости, то, как и в плане объема, xD совсем не блещет. Сегодня средняя скорость чтения Type M+ составляет 6.00 Мбайт/с (40х), а записи - 3.75 Мбайт/с (25х).

Итого формат xD-Picture Card в рознице более дорог, чем SD и CF. Карты памяти достаточно компактны, но их емкость уже не соответствует современным требованиям. Тоже самое касается и скорости работы. Для съемки видео с разрешением 640х480 при 30 кадров в секунду Type M+ еще достаточно. Но вот для сегодняшних зеркальных камер, снимающих кадры разрешением 12-24 МП и видео в формате 720p и 1080p этого явно мало. Тут совсем неплохо иметь карточку на 200-300х. Так что особого смысла в продолжении поддержки и развитии xD мы не видим. Не удивимся также, если вдруг его решат прикрыть, а следующее поколение камер переведут на SD и/или CF.

Аббревиатура SSD стала появляться в лентах новостей и названиях статей относительно недавно - пару лет назад. Причина этого в том, что массовой эта технология начала становиться только когда для хранения данных все чаще стала использоваться флэш-память, а упомянутые заголовки (и текст) новостей твердили о скором бурном росте этого рынка, попутно обещая вытеснение HDD. По крайней мере из сегмента ноутбуков и нетбуков.

Но самое интересное, что SSD не обязательно есть накопитель на основе флэш-памяти. SSD или Solid State Drive означает твердотельный накопитель. То есть тут важен скорее принцип, чем тип - для хранения данных используется "твердая" память. Память, которая не вращается, не вертится и не прыгает. Так что SSD вовсе не пару лет, а формально лет пятьдесят. Называлась тогда эта технология иначе, но опять же - тут важен принцип. А принцип сохранился.

Сегодня же актуальны два типа SSD: на основе энергозависимой памяти и на основе энергонезависимой. Первые - это те, что используют в своей основе SRAM или DRAM память. Еще их называют RAM-drive. Периодически такие SSD анонсируются производителями как сверхбыстрые носители данных. Некоторые из них даже позволяют самостоятельно наращивать объем, когда на плате банально установлены разъемы для обычных модулей памяти (DDR, DDR2 или DDR3 в самом современном варианте).

Ну а энергонезависимая память - это конечно же флэш. Создавать SSD на ее основе могли уже давно, но объемы такие накопителей были далеки от возможностей жестких дисков, а себестоимость значительно выше. Да и скорость не блистала. Но сегодня эти недостатки постепенно устраняются.

Первое поколение SSD имело емкость от 16 до 64 Гбайт, а стоили такие "флэшки" сотни и тысячи долларов. Это было примерно два года назад. Сегодня доступны варианты на 64-512 Гбайт при цене $200-1500. До винчестеров далеко, но уже куда лучше. За и на подходе SSD на 1 Тбайт в формате 2.5-дюймового жесткого диска. Напомним, что мобильные HDD пока не превысили объема 500 Гбайт. А настольные только-только добрались до отметки 2 Тбайта. Так что SSD идет вперед прямо-таки семимильными шагами.

Что касается скорости работы, то она также постоянно растет. Первое поколение SSD несколько отставало от мобильных жестких дисков, но современные накопители уже превзошли его. Достаточно вспомнить представленный в прошлом году SSD Intel X25-M, который имеет скорость чтения 250 Мбайт/с, а записи - 70 Мбайт/с. И стоит он не как полет на МКС - порядка $350 при объеме 80 Гбайт.

Конечно, существуют особо скоростные модели от Fusion-IO со скоростью чтения/записи 800/694 Мбайт/с или PhotoFast G-Monster PCIe SSD с 1000/1000 Мбайт/с, но оцениваются они в сумму как небольшой реактивный самолет. Ну и конечно же для обмена данными они используют не SerialATA, а обычный PCI Express x8 - этот стандарт пока еще способен обеспечить требуемую пропускную способность. Кстати, PCI Express x1 активно применяется для подключения SSD в нетбуках. Именно в таком формате выполнены их хранилища данных - в виде небольшой платы PCI-E x1.

Столь высокие скоростные показатели для SSD-накопителей были достигнуты благодаря параллельному считыванию данных сразу с нескольких чипов. К примеру упомянутый выше Intel X25-M работает по принципу RAID-массива уровня 0. То есть один бит пишется на первый чип, второй на второй и так далее. Организовать подобный механизм для обычной USB-флэшки или карты памяти крайне сложно, поскольку в них практически всегда устанавливается только один чип флэш-памяти.

Для увеличения емкости и снижения стоимости в SSD довольно часто используют MLC-память (в том числе и в X25-M). Более дорогие модели оснащаются SLC-чипами. Но если на USB-флэшку или какую-нибудь SD-карточку вы записываете данные сравнительно редко, то на SSD запись ведется непрерывно во время работы. Причем в большинстве случаев вы этого даже не знаете. Современные программы постоянно ведут различные логи; операционная система перемещает в своп-файл малоиспользуемые данные, высвобождая таким образом ОЗУ; даже элементарный доступ к файлу требует записи времени доступа.

Так что по-любому в SSD приходится устанавливать более долговечные чипы. Еще приходится беспокоиться об алгоритмах вычисления уровня износа и перераспределения данных - они должны быть более совершенными, чем у обычных флэшек. SSD-накопители даже имеют дополнительный чип энергозависимой кэш-памяти, как обычный жесткий диск. В кэше находятся данные об адресах блоков и данные об уровне износа. При выключении последние сохраняются на флэш-память.

В любом случае пока что технология SSD-накопителей на основе флэша продолжает бурно развиваться. Она предлагает несколько неоспоримых преимуществ перед HDD:

  • значительно меньшее время доступа к данным;
  • постоянная скорость чтения данных;
  • нулевой уровень шума;
  • меньшее энергопотребление.

На текущий момент остается довести число циклов перезаписи до такого количества, чтобы об этом можно было совсем не беспокоится. Емкость будет расти и без того. Не исключено, что в ближайшие 2-3 года она догонит и даже обгонит жесткие диски. Ну а цена падает сама собой, если технология перспективна, активно продвигается и уровень продаж постоянно растет. Не знаем, сможет ли SSD вытеснить HDD на рынке настольных компьютеров, но на мобильные они уже замахиваются.

Будущее

Собственно мы подошли к концу. Вывод из вышесказанного можно сделать следующий: флэш-память в будущем будет все больше распространяться и совершенствоваться. Пока не ясно, сможет ли она заменить жесткие диски, но задатки к этому у нее имеются. Но тут есть еще одна загвоздка - файловая система.

Современные файловые системы оптимизированы для использования вместе с жесткими дисками. А ведь HDD - это вовсе не SSD по своей структуре. Прежде всего доступ к данным на винчестере осуществляется при помощи LBA-адресации. Блок такого адреса позволяет вычислить на какой пластине, на какой дорожке и в каком секторе расположена запрашиваемая информация. Но вот незадача - у флэш нет пластин, дорожек и секторов. Но есть блоки, поделенные на страницы. Сегодня эта проблема решается трансляцией адресов из одного формата в другой, но куда удобнее было бы, если б все это происходило напрямую.

Еще одна особенность флэш-памяти - запись может осуществляться только в предварительно очищенные блоки. А эта операция занимает определенное время. Вот и неплохо бы очищать неиспользуемые совсем блоки во время простоя.

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

Так что дело ближайшего будущего - это выпуск новых файловых систем, оптимизированных для работы с флэш-памятью. Такие впрочем уже существуют, но современные ОС плохо их поддерживают. Примечательно, что одной из первых стала FFS2 от Microsoft, которую та выпустила еще в начале 90-х годов.

ОС Linux не отстает от прогресса. Для нее были созданы файловые системы JFFS, JFFS2, YAFFS, LogFS, UBIFS. Отличилась и Sun, разработав ZFS, которая недавно . Она оптимизирована не только для жестких дисков, но и для флэш-накопителей. Причем как для использования их в качестве основного хранилища, так и как кэша.

Тем не менее, сегодня самой популярной файловой системой для флэшек (не считая SSD) остается FAT и FAT32. Это просто удобнее всего. Они поддерживаются всеми операционными системами, не требуют драйверов. Но и их уже недостаточно для работы. К примеру ограничение на максимальный размер файла (4 Гбайта) уже становится неприемлемым.

Впрочем, у Microsoft есть замена - exFAT, ранее известная как FAT64. Как мы уже писали, она выбрана в качестве основной ФС для карт SDXC. Помимо оптимизации под флэш-память она поддерживает файлы размером до 16 экзабайт (16.7 миллионов терабайт), а в одну папку можно записать более 65536 файлов.

Поддерживается exFAT сегодня операционными системами Windows Mobile версии 6.0 и выше, Windows XP SP2 и выше, Windows Vista SP1, Windows Server 2008 и Windows 7 со сборки 6801. Заметим, что в Windows Vista флэш-накопитель на основе exFAT не способен использоваться как кэш в функции ReadyBoost. Соответствующая поддержка появится в Windows 7. Ну а что касается других ОС, то для Linux доступен бесплатный модуль ядра, позволяющий использовать exFAT только для чтения.

Так что наиболее перспективной ОС для флэш-приводов сегодня выглядит ZFS и exFAT. Но обе распространены весьма слабо, хотя у последней есть больше шансов стать популярной. Ее уже выбрали в качестве основной для карт SD последнего поколения и все наиболее популярные версии Windows ее "знают".

В остальном будем ждать дальнейшего наращивания емкости флэшек и снижения их стоимости. Технология эта очень хороша, поэтому мы желаем ей только успеха.

Микросхемы флеш-памяти eeprom серии 25xxx широко применяются в микроэлектронике. В частности, в современных телевизорах и материнских платах в 25xxx хранится прошивка биоса. Перепрошивка 25xxx осуществляется по интерфейсу SPI, в чем и заключается отличие этих микросхем от флеш-памяти семейства 24xxx, которые шьются по i2c(квадратная шина).

Соответственно, для чтения/стирания/записи 25xxx нужен SPI-программатор. Одним из самых дешевых вариантов программаторов для этой цели является USBasp, который стоит смешные деньги- с доставкой всего около 2$ на ебее. В свое время я купил себе такой для программирования микроконтроллеров. Теперь мне понадобилось прошить не микроконтроллер, а SPI-флеш и решено было им воспользоваться.

Забегая вперед скажу, что прошивка от Tifa работает, микросхемы 25xxx шьются. Кстати, кроме 25xxx, модифицированный программатор рассчитан на работу с 24xxx и Microwire.

1. Перепрошивка USBasp

Сначала нужно замкнуть контакты J2:

Лично я не просто замкнул, а впаял в контакты переключатель:

При замкнутых контактах J2 (это у меня переключатель в положении вправо) USBasp переходит в режим готовности к перепрошивке.

Сам себя USBap перепрошить не может, поэтому нужен еще один программатор. USBasp как бы оказывается в положении хирурга, который не может сам себе вырезать аппендикс и просит друга помочь. Для перепрошивки USBasp я использовал самодельный программатор AVR910 , но для одного раза можно по-быстрому за пару минут спаять программатор «5 проводков» , который состоит всего-лишь из одного разъема LPT и 5 резисторов.

Подключаем программатор к USBasp:



Теперь идем на форум альтернативной прошивки от Tifa, в самом верхнем посте находим и качаем архив с последней прошивкой и ПО.

Находим там файл mega8.hex, это и есть альтернативная прошивка для USBasp.

Запускаем CodeVisionAvr (я использую версию 2.0.5), выставляем настройки программатора: Settings-> Programmer.

Устанавливаем настройки записи: Tools->Chip programmer. Выбираем чип Atmega8L, именно такой стоит на USBasp. Фьюзы не выставляем- те, что надо, уже прошиты в чипе. Остальные настройки оставляем по умолчанию.

Стираем старую программу USBasp: Program-> Erase chip.

Открываем файл прошивки mega8.hex: File-> Load flash.

Перепрошиваем USBasp: Program-> Flash.

Если прошла запись и не выдало сообщение об ошибке, значит альтернативная прошивка благополучно прошита в USBasp. Теперь USBasp может не только шить AVR-микроконтроллеры, как раньше, но еще и работать с флеш-памятью. Размыкаем контакты J2, что бы USBasp снова перешел в режим программатора.

Теперь проверим, видит ли Windows 7 x86 этот программатор. Вставляем USBasp в USB и… система пишет «USBasp не удалось найти драйвер». Понятно, нужно установить драйвер. Но драйверов в скачанном на форуме нет, их нужно скачать на родном сайте USBasp , оригинальные драйвера подходят и для модифицированного программатора. Скачали, установили, Win7 увидела программатор, все ок. Впрочем, я программирую микроэлектронику на ноутбуке с WinXP, она тоже после установки драйверов видит программатор.

2. Площадка для подключения USBasp к микросхеме 25xxx DIP

Теперь нужно подготовить площадку для программирования 25xxx. Я это сделал на макетной плате по такой схеме:

3. Прошивка микросхем 25xxx через USBasp

Для прошивки 25xxx через модифицированный USBasp используется программа AsProgrammer, которая тоже есть в .

Для примера, поработаем с микросхемой Winbond 25×40. Запускаем AsProgrammer, ставим режим работы SPI и выбираем тип микросхемы: Микросхема-> SPI-> Winbond->…

… и видим, что W25X40 в списке нет. Что же, тогда заполним параметры микросхемы вручную. Находим мануал на Winbond 25X40 и там на странице 4 видим такие параметры:

Эти параметры вносим сюда:

Подключаем USBasp к компьютеру и микросхеме Winbond 25×40:

С помощью кнопок «прочитать», «записать», «стереть», проверяем работу программатора:

Только нужно учесть, что перед тем, как что-то записать в микросхему, сначала нужно выставить: Настройки-> Проверка записи, что бы после записи прошивки в микросхему была выполнена проверка на соответствие того, что писали тому, что в итоге записали. Это немаловажная вещь, потому что если прошивку делать не на очищенный чип, в него запишется чёрт-те что. Поэтому сначала нужно стереть микросхему, а затем только проводить ее запись.

Благодаря прошивке от Tifa дешевый китайский программатор USBasp теперь умеет работать с микросхемами flash-памяти eeprom 25xxx. Теоретически еще может работать c 24xxx и Microwire, но я проверил только работу с 25xxx.

UPD1:
Оказывается, такую же прошивку можно записать и в программатор AVR910. Тогда он тоже будет работать с flash-памятью 25xxx:

Модуль поиска не установлен.

Немного о флэш-памяти

Сегодня такой раздел (модуль, элемент - можете называть ее как угодно), как флэш-память, является неотъемлемой частью практически всех комплектующих компьютера (будь то звуковая карта, винчестер, модем, магнитооптические накопители или CD-ROM), использующих в своей работе память, да и не только компьютера (!). Но что же на самом деле представляет собой флэш-память? Этому и другому посвящена данная статья.

Флэш-память является довольно важным разделом, в котором хранятся обновляемые программы и модули программ. Используется флэш-память в самых различных системах, даже в BIOS, сотовых телефонах, пейджерах и т.д. Использование флэш-памяти для хранения различных параметрических данных позволяет не только повысить производительность той или иной системы, но и дает возможность увеличить ее надежность и понизить стоимость. Например, в модемах широко распространены параметрические блоки флэш-памяти, благодаря которым осуществляется работа модема как автоответчика, и при этом можно оставить сообщение даже при выключенном компьютере. Что касается сотовых телефонов, то в них модули флэш-памяти используются для хранения телефонных номеров, учета времени, идентификатора пользователя и многого другого. Флэш-память применяется даже на автомобилях в системах управления двигателем и по-дачи и нормирования топлива, ведя учет не только работы, но и возникших неполадок.

Технология модулей флэш-памяти

По работе флэш-память сравнима с модулями оперативной памяти компьютера. Флэш-память модифицируется в системе на электронном уровне. Но в отличие от оперативной памяти флэш-память энергонезависима. Т.е. она работает наподобие блока постоянного запоминающего устройства и способна хранить информацию и данные долгосрочно даже после отключения питания. Кроме того, если в оперативную память можно записать (и стереть из нее) информацию побайтно, т.е., например, целым файлом, то при работе флэш-памяти такого не происходит. Вся информация записывается и стирается на модуле флэш-памяти байт за байтом. И наконец, последнее отличие - чтобы записать в оперативную память информацию, предыдущую стирать не нужно, потому что при записи новых данных старые автоматически стираются. На блоке флэш-памяти сначала нужно удалить старую информацию, а затем уже можно записывать новую.

Работа флэш-памяти содержит только три операции - запись или программирование, чтение, стирание. На каждую из операций требуется определенное время. Например, для чтения одного параметрического блока затрачивается примерно 60 нс., а для записи 9 мкс. На операцию стирания информации в среднем затрачивается от 0,6 до 4,5 секунды. Это самая долгая операция.

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

Модули флэш-памяти имеют ограниченный срок службы. Но несмотря на это, микросхемы Flash Memory Boot Block (такое они имеют название) должны выдерживать не менее 100 тысяч циклов перезаписи при напряжении 5 вольт. Одним циклом перезаписи считается законченный цикл операций записи и стирания одного и того же блока информации объемом не менее 8 Кб. Естественно, что на микросхему за раз можно записать гораздо больше информации, чем 8 Кб, поэтому ресурс микро-схемы зависит не только от цикла перезаписи, но и от объема перезаписываемой информации и от частоты (периодичности) ее обновления.

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

Структура блочных (параметрических) данных в микросхеме

В микросхемах флэш-памяти для более удобной организации данных в блоках разработана особая структура данных, которая представляет собой форму связных списков. Каждая запись, заносимая в этот список, состоит из двух полей. В первое поле заносится значение параметра заносимой записи. Во втором поле указывается адрес для следующей записи этого же параметра. Первое поле обозначается как "Parameter". После "Parameter" стоит номер, например Parameter1. Также в списке имеется ParameterХ, который является, так сказать, переменным указателем, в котором содержится адрес первой записи данного параметра. Если какая-либо ячейка блока содержит значение Parameter1, то в этой ячейке указан адрес первой записи параметра, который содержит первое значение Parameter1 и адрес второй записи Parameter1. Вторая запись, в свою очередь, содержит последнее значение данного параметра и адрес третьей записи.

В последней записи, обычно в поле "Next_Record", заносится код, который обозначается как FFh. Он указывает на то, что последующих записей больше нет. Этот код представляет собой значение стертого байта по умолчанию.

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

При чтении данных программе совсем не обязательно просматривать все списки. Да такого и не происходит. Программа просто находит последнее значение данного параметра и по его указателю читает нужные коды.

В таблице ниже приведен пример структуры самого простого связного списка. В данном примере (то же самое относится к любой другой структуре) Parameter_Value является переменным и зависит в большей степени от специфики и объема заносимой информации.

Значение Адрес Параметр
01H Parameter1 Parameter1 Pointer Variable
03H Parameter2 Parameter2 Pointer Variable
05H Parameter3 Parameter3 Pointer Variable
F8H 01H Parameter1 Value = F8H
07H 02H Parameter1 Next_Record = 07H
22H 03H Parameter2 Value = 22H
09H 04H Parameter2 Next_Record = 09H
44H 05H Parameter3 Value = 44H
FFH 06H Parameter3 Next_Record = FFH = latest
55H 07H Parameter1 Value = 55H
0BH 08H Parameter1 Next_Record = 0BH
F2H 09H Parameter2 Value = F2H
FFH 0AH Parameter2 Next_Record = FFH = latest
F4H 0BH Parameter1 Value = F4H
FFH 0CH Parameter1 Next_Record = FFH = latest

В более новых разработках технологии записи информации во флэш-память в списки добавляется еще один параметр, который указывает только на то, что определенная запись параметра является самой последней (или обновленной). Поле для этого параметра получило название "Parameter ID". Для считывания в этом случае программа вынуждена проходить (и считывать) каждый параметр, пока не "наткнется" на последнее значение просматриваемого параметра. Но несмотря на это, применение такого способа является альтернативой традиционному способу.

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

Очистка флэш-памяти

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

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

Но даже здесь есть свои особенности! Выше говорилось, что на процесс стирания параметрического блока выделяется до 4,5 секунды. Для такой операции это довольно много. Кроме того, при работе системы столько времени может не оказаться. Все же стирание флэш-памяти не основная и не единственная задача, выполняемая системой. Поэтому программами для работы с флэш-памятью предусмотрена функция приостановки процесса стирания. Приостановка стирания включается в тех случаях, когда системе необходимо прочитать данные, находящиеся в других параметрических блоках. Команду приостановки стирания дает программа, управляющая модулем флэш-памяти. При выполнении этой программы модуль находится в подвешенном состоянии. Аналогичным примером может послужить "зависание" компьютера при работе. Но в случае с флэш-памятью "зависание" относится только к задаче стирания (и к тому же программа в любую секунду может продолжить эту операцию), а что касается чтения, то для этого нет никаких преград. После того как система прочитает данные, расположенные в других блоках, программа в модуль (микросхему) посылает сигнал о продолжении операции стирания. Стирание параметрического блока будет продолжено с того момента, где оно было прервано. Но пока операция стирания блока не будет полностью закончена, новые данные на его место записать будет невозможно.

Возможно, в будущем будет разработан алгоритм, который позволит осуществить запись новой информации после приостановки стирания. Но пока его нет, и приходится довольствоваться тем, что есть.

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

В связи с этим возникают определенные требования к системе.

Что же нужно для полноценной работы флэш-памяти?

Объем оперативной памяти, используемый при работе флэш-памяти, зависит, в первую очередь, от характера и сложности заложенной в программу базы работы модуля. Программа, отвечающая за работу модуля флэш-памяти, разделена на подпрограммы, которые выполняют каждая свою функцию. Но в оперативную память загружаются не подпрограммы, а вся программа целиком. Размер кода каждой подпрограммы (подпрограммы для операции записи, стирания, чтения) составляет от 512 байт до 1 Кб.

Еще одним весомым аргументом является то, что программа примерным объемом в 15 Кб загружена в сам модуль флэш-памяти, а в оперативную память выгружается только 1..2 Кб.

Поэтому можно сделать вывод, что первым и довольно весомым требованием к системе будет размер оперативной памяти. Для качест-венной полноценной работы модуля флэш-памяти (и системы в целом) необходимо минимум 16 Мб (а лучше 32 Мб).

Для быстрой и стабильной работы кроме оперативной памяти необходимо выбрать правильный режим питания. Существуют модули, работающие при питании 3,3, 5 и 12 вольт. Большинство современных модулей ориентировано на питание от 12- вольтового источника. Такое напряжение необходимо, в част-ности, для операций внутрисистемного стирания информации и ее записи. Но некоторые микросхемы, ориентированные на 12 вольт, способны работать от источника напряжением 5 вольт. При этом работа флэш-памяти при одном и другом номинале напряжения ничем не отличается. К таким микросхемам флэш-памяти относятся, например, модули семейства Smart Voltage.

Отдельно хочется остановиться на флэш-памяти, ориентированной на 3,3 вольта. Такие модули выпускаются объемом до 4 Кбита. Они позволяют не только улучшить работу приборов, но и оптимизировать энергопотребление. Технологию модулей флэш-памяти на 3,3 вольта разработала фирма Smart Voltage. В этой технологии объединены три параметра - низ-кое энергопотребление, применение только одного номинала напряжения и довольно быстрое программирование. И все это объединено в один "прибор".

Если сравнить модуль флэш-памяти, разработанный для напряжения только на 5 вольт и для напряжений на 3,3 и на 5 вольт, то лучшим окажется модуль с двойным номиналом. Потому флэш-память с двойным напряжением выполняет операции записи и стирания гораздо быстрее. Например, запись блока составляет 10..13 мкс, а запись - 0,5..1 сек.

Еще одним преимуществом модуля с двойным питанием является то, что его можно переключить в режим напряжением 3 вольта. Такой режим в основном используется на микросхемах, установленных в сотовых телефонах и другой портативной технике.

К сожалению, в процессе перепрограммирования модуля флэш-памяти происходит потеря питания во время обновления. Этой проблемой обладают практически все выпускаемые модули. Но производители, выпуская свою продукцию, справляются с ней. При записи информации добавляются дополнительные строки к параметрическим и блочным записям. Обычно этими параметрами являются разделы под названием "Parameter_Status". При этом в параметре указывается два бита, один из которых содержит код, свидетельствующий о начале обновления параметра, другой - о конце обновления. В результате каждую секунду бит конца обновления изменяется. Если произойдет обрыв питания, то при восстановлении его программа получит данные о конце обновления (где был прерван процесс) из раздела Parameter_Status. При получении информации из раздела программа "знает", что при выполнении процесса произошла ошибка и ее нужно исправить.

Особенность работы флэш-памяти

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

Динамическая характеристика не только должна обеспечить расчет времени на выполнение определенной задачи, но и учесть время задержки при работе как самого прибора, так и программы. Расчет времени на выполнение, например, чтения, зависит от длины записи каждого параметра и от количества этих параметров. Длину записи и количество параметров необходимо рассчитать до того, как будет произведена запись. Из этих расчетов вытекает полное время чтения данных.

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

Так же необходимо рассчитывать полное время записи, зависящее от длины записи и количества параметров записей.

За все это отвечает динамическая характеристика, которая при работе во многом упрощает работу самого модуля флэш-памяти и программы, управляющей всеми операциями.

Новая технология

Все модули флэш-памяти допускают поэтапное (байт за байтом) программирование. Сейчас уже разработан алгоритм программирования на уровне битов, т.е. запись битов или группы битов за один сеанс. Алгоритм подразумевает программирование одиночных битов путем маскирования остальных.

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

Флэш-память фирмы AMD

Пример микросхем (напряжением 12 вольт)

Микросхема памяти Организация Время доступа, нс
Am28F256A 32K x 8 70-200
Am28F512A 64K x 8 70-200
Am28F010A 128K x 8 90-200
Am28F020A 256K x 8 90-200

Флэш-память с 5-вольтовым программированием

Микросхема памяти Организация Время доступа, нс Число выводов
Am29F010 128K x 8 45-120 32
Am29F100 128K x 864K x 16 70-150 44, 48
Am29F200 256K x 8128K x 16 70-150 44, 48
Am29F040 512K x 8 55-150 32
Am29F400 512K x 8256K x 16 70-150 44, 48
Am29F080 1M x 8 85-150 44, 48
Am29F800 1M x 8512K x 16 85-150 40, 44
Am29F016 2M x 8 90-150 48

Флэш-память с 3-вольтовым программированием

Технические характеристики флэш-памяти AMD:

  • ток питания: 20-30 mA при чтении и 30-50 mA при программировании/стирании;
  • ток потребления в статическом режиме: 25-90 mkA (режим КМОП), 1 mA (режим ТТЛ);
  • количество циклов программирования/стирания: 100 тыс.;
  • время хранения информации: 10 лет при 150°С, 20 лет при 125°С;
  • температурные режимы работы:
    • 0..+70°С (обычный режим);
    • -40..+85°С (индустриальный режим);
    • -55..+128°С (расширенный режим).

Планы Samsung - скоро появится новая флэш-память!

По планам фирмы Samsung Electronics в скором будущем появится гигабитная флэш-память. В исследовательской лаборатории Samsung уже создан прототип чипа для модуля флэш-памяти объемом 1 гигабит. По размерам чип имеет толщину всего лишь 0,15 микрона(!). Если выпускать стандартные платы, то благодаря этому чипу в них будет умещаться огромное количество информации.

Как обещает фирма Samsung, новый чип скоро выйдет в серийное производство. Представители фирмы утверждают, что на него можно будет записать до 500 фотографий разрешением 1280 х 1024. А это действительно очень много! Попробуйте на своем жестком диске создать 500 таких фотографий - убедитесь сами!

На базе таких чипов фирма Samsung Electronics планирует производить модули флэш-памяти, которые будут применяться в основном (в первое время) в цифровых фотоаппаратах и камерах. Возможно, после реализации этих планов производители станут выпускать память и для комплектующих компьютеров. Производители также уверяют, что производство их чипов сразу же изменит технологию производства флэш-памяти во всем мире. Кроме того, производители собираются (опять же на основе этого чипа) разработать модули памяти объемом 256 и 512 Мб (!). Исследования разработки уже проводятся. Новинку - флэш-память размером 1 гигабит - планируется выпустить уже в 2001 году.

Вывод

Флэш-память разработана и применяется для того, чтобы упростить работу системы, в которой она применяется, а также повысить ее производительность. За счет обновления информации через флэш-память система (например, модем, звуковая карта и т.д.) в гораздо меньшей степени использует оперативную память компьютера. Тем самым повышается производительность не только одного прибора, но и всего компьютера в целом.

Для работы флэш-памяти в основном применяются программные методы эмуляции побайтовой работы, и при этом используется только два блока памяти.

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


Принципиально микросхемы памяти делятся на энергонезависимые, не теряющие информацию при выключении питания, и энергозависимые, содержимое которых при каждом включении считается неопределенным. Первые из них предназначены для хранения программ, констант, таблиц и других, не меняющихся или редко меняющихся данных, и называются ПЗУ (постоянные запоминающие устройства). Вторые предназначены для временного хранения данных, возникающих в процессе функционирования устройства, и называются ОЗУ (оперативные запоминающие устройства). В свою очередь, ПЗУ классифицируются по способу занесения информации и по способу ее стирания, если только такая возможность существует в данном классе ПЗУ. Самым дешевым способом записи является масочное программирование в процессе изготовления кристалла. Микросхемы ЗУ с <прошитой> информации - ROM (Read Only Memory) - невозможно перепрограммировать, и применяются они только при массовом производстве, большой серийности и гарантированной безошибочности заносимого текста. Следующая разновидность ПЗУ - PROM (Programmable Read Only Memory) - поставляется в <чистом> виде и предоставляет пользователю возможность самостоятельно, с помощью программатора, занести требуемое содержимое. Если этот процесс необратим, то такие микросхемы называются OTP (One Time Programmable) - однократно программируемые. Если существует возможность очистки содержимого с последующим занесением нового, то микросхемы называются EPROM (Erasable Programmable Read Only Memory). И, наконец, в зависимости от способа стирания они могут быть либо UV-EPROM, с ультрафиолетовым стиранием, либо EEPROM, с электрическим стиранием. Однако, сложившаяся за последние годы терминология чаще использует аббревиатуру EEPROM за определенной разновидностью памяти, которая, в каком-то смысле, может считаться энергонезависимым ОЗУ.
Собственно ПЗУ с электрическим стиранием принято называть Flash памятью. Отличия между ними достаточно велики. EEPROM допускает при записи произвольный доступ к ячейкам памяти, Flash память предполагает только страничный, то есть с разбивкой на сектора, доступ при стирании/записи. Переписать содержимое единственной ячейки памяти невозможно. При чтении принципиальной разницы между ними нет. Кроме того, программирование Flash памяти - это целый процесс, который требует дополнительных программных шагов для перевода микросхемы в режим программирования и контроля его окончания. В итоге, область применения Flash памяти - тексты программ, таблицы и другие данные, изменение которых или не предполагается вовсе, или допускается, но весьма редко. EEPROM память используется для текущего запоминания данных в процессе работы, при смене констант, настроек (например в телевизоре), с автоматическим их сохранением при выключении питания. В то же время Flash память обладает большей емкостью и меньшей ценой при пересчете на стоимость хранения одного байта информации.
Оперативная память (RAM - Random Access Memory) принципиально делится на два типа: статическая - SRAM и динамическая - DRAM. Первая, при наличии питающего напряжения, может сохранять записанную информацию как угодно долго без всяких обращений к ней. Запоминающей ячейкой является триггер. Вторая требует постоянной <регенерации>, то есть считывания и повторной записи в соответствующие ячейки. Это связано с физической основой хранения, которой в DRAM является конденсатор ничтожно малой емкости, включенный на пересечении строк и столбцов матрицы. Этим достигается сверхвысокая плотность упаковки и большая удельная информационная емкость микросхемы. Платой является необходимость периодически осуществлять цикл регенерации. Также приходится жертвовать энергопотреблением. Микросхемы DRAM применяются сегодня практически только в компьютерах и другой вычислительной технике.
Для нас больший интерес представляют микросхемы SRAM, которые, в свою очередь подразделяются на микромощные со сравнительно небольшим (55 - 120 нс) быстродействием и высокоскоростные (7 - 25 нс) со значительно большим энергопотреблением.
Существуют и другие разновидности ОЗУ, например «Zero-Power» со встроенной литиевой батареей или «Dual-Port» с отличной от обычных системой доступа к информации.


Основные параметры микросхем памяти:
  • информационная емкость. Cпособность хранить определенное число бит двоичной информации;
  • организация микросхем ЗУ. Она может быть различной при одном и том же объеме памяти. Например, 65 536 бит могут выглядеть как 4 096 х 16, или как 8 192 х 8, или в другом сочетании. Внутренняя организация запоминающей матрицы при этом остается неизменной, изменяется только внешний интерфейс и, соответственно, число внешних выводов;
  • время выборки. Bремя от подачи последнего из сигналов, разрешающих чтение до появления на выходе устойчивых данных;
  • потребляемая мощность. Как обычно, существует компромисс между потребляемой мощностью и быстродействием микросхемы;
  • напряжение питания. Общая тенденция к снижению напряжения питания привела к появлению микросхем ЗУ, работающих при 3,3, 2,5 и даже 1,8 вольт;
  • температурный диапазон. Коммерческий, индустриальный или расширенный.
К специфическим параметрам ЗУ относятся такие как: время хранения (часов, лет), число циклов перезаписи , время стирания и другие.

В заключение, необходимо отметить, что микросхемы EEPROM и Flash типов часто имеют последовательный внешний интерфейс обмена данными. Это значительно уменьшает скорость обмена, но, в тех применениях, где она не критична, позволяет экономить число внешних выводов микросхем, занимаемую на печатной плате площадь, число паек.

Микросхемы разного назначения применяются в составе электроники современной техники. Огромное многообразие такого рода компонентов дополняют микросхемы памяти. Этот вид радиодеталей (среди электронщиков и в народе) зачастую называют просто – чипы. Основное назначение чипов памяти – хранение определённой информации с возможностью внесения (записи), изменения (перезаписи) или полного удаления (стирания) программными средствами. Всеобщий интерес к чипам памяти понятен. Мастерам, знающим как программировать микросхемы памяти, открываются широкие просторы в области ремонта и настройки современных электронных устройств.

Микросхема памяти — это электронный компонент, внутренняя структура которого способна сохранять (запоминать) внесённые программы, какие-либо данные или одновременно то и другое.

По сути, загруженные в чип сведения представляют собой серию команд, состоящих из набора вычислительных единиц микропроцессора.

Следует отметить: чипы памяти всегда являются неотъемлемым дополнением микропроцессоров – управляющих микросхем. В свою очередь микропроцессор является основой электроники любой современной техники.

Набор электронных компонентов на плате современного электронного устройства. Где-то среди этой массы радиодеталей приютился компонент, способный запоминать информацию

Таким образом, микропроцессор управляет , а чип памяти хранит сведения, необходимые микропроцессору.

Программы или данные хранятся в чипе памяти как ряд чисел — нулей и единиц (биты). Один бит может быть представлен логическими нулем (0) либо единицей (1).

В единичном виде обработка битов видится сложной. Поэтому биты объединяются в группы. Шестнадцать бит составляют группу «слов», восемь бит составляют байт — «часть слова», четыре бита — «кусочек слова».

Программным термином для чипов, что используется чаще других, является байт. Это набор из восьми бит, который может принимать от 2 до 8 числовых вариаций, что в общей сложности даёт 256 различных значений.

Для представления байта используется шестнадцатеричная система счисления, где предусматривается использование 16 значений из двух групп:

  1. Цифровых (от 0 до 9).
  2. Символьных (от А до F).

Поэтому в комбинациях двух знаков шестнадцатеричной системы также укладываются 256 значений (от 00h до FFh). Конечный символ «h» указывает на принадлежность к шестнадцатеричным числам.

Организация микросхем (чипов) памяти

Для 8-битных чипов памяти (наиболее распространенный тип) биты объединяются в байты (8 бит) и сохраняются под определённым «адресом».

По назначенному адресу открывается доступ к байтам. Вывод восьми битов адреса доступа осуществляется через восемь портов данных.


Организация структуры запоминающего устройства. На первый взгляд сложный и непонятный алгоритм. Но при желании разобраться, понимание приходит быстро