В. Королев - Компьютер на флешке. Работающие Windows, Linux, Офис и 150 самых полезных программ у вас в кармане
Наконец, необходимо отметить, что флеш-память, в отличие от жесткого диска, выдерживает ограниченное количество циклов записи-стирания. В то время как для жесткого диска его долговечность зависит от механической износостойкости. Технологически в идеале возможна практически неограниченная эксплуатация (знай себе намагничивай и размагничивай). Для разных флешек число повторных стираний варьируется примерно от 100 тыс. до 1 млн. Чтобы оценить эти цифры, представьте, что каждый день, 365 дней в году вы будете по 100 раз на дню мучить свою флешку. Так вот, даже при наихудшем прогнозе вам должно хватить ее на три года. Бывают, конечно, исключения (брак, неправильная эксплуатация), но в целом именно так.
По мере приближения к предельному значению циклов чтения/записи ячейка флеш-памяти начинает все хуже и хуже «себя вести»: либо запись происходит с ошибкой, либо блок не поддается стиранию с первой попытки. В результате вскоре блок помечается как дефектный и не участвует уже более в работе флешки.
Отсюда наиболее распространенным способом продления срока жизни флешки является технология управления ее износом (Wear Leveling Control), суть которой состоит в том, чтобы обеспечить наиболее равномерное использование ячеек флеш-памяти путем равномерного распределения циклов чтения/записи по разным блокам.
Что касается контроля надежности хранения информации на флешке, то он производится непосредственно во время записи: встроенный механизм соотносит сохраненную информацию с исходной с помощью компаратора. Возможна также дополнительная проверка. Все зависит от того, какие технологии заложил производитель в свои изделия.
Виртуальное флеш-пространствоФайловая система флеш-памяти (Flash File System, FFS) состоит из модулей управления пространством, «сборкой мусора», износом и интерфейсом, а также блока инициализации. Общение ОС с флеш-накопителем начинается с вызова дискового прерывания (IRQ14), которое активизирует накопитель. Если запрашивается чтение сектора данных, то происходит преобразование его координат в адрес физического блока памяти. Затем происходит выборка соответствующего кристалла, собственно считывание данных и их передача в буфер ОС [1].
При записи координаты сектора преобразуются в собственную систему флеш-накопителя. Происходит проверка на наличие свободных блоков чтения/записи. При наличии таковых для соответствующего кристалла устанавливается режим записи и происходит запоминание данных в его ячейках.
Если же блоков недостаточно или размер свободного пространства меньше требуемого, активизируется «сборка мусора», которая совместно с механизмом управления износом подбирает область стирания и проверяет, не содержит ли она действительных блоков чтения/записи. При обнаружении последних происходит их перемещение в резервное пространство. Выбранная область стирания очищается, затем из ее состава выбирается свободный блок записи.
Управление пространством осуществляется с помощью трансляции логических секторов дисковой модели ОС в физические блоки флеш-памяти (Flash Translation Layer, FTL). При этом происходит учет дефектных и недействительных блоков. Доступный объем виртуального накопителя описывается в управляющих таблицах, выполняющих роль таблиц размещения файлов (FAT) дисковой ОС.
Процесс удаления записанных, но более не используемых (недействительных) блоков памяти носит название «сборки мусора» (Garbage Collection).
На заре развития флеш-памяти для этого использовался простой механизм. Блоки, содержащие полезные данные, перемещались в свободную область, после чего запускался механизм очистки недействительных. Так как «сборка мусора» запускается нечасто, этот процесс потребляет ничтожно мало энергии и не снижает производительность памяти. Однако его нельзя признать достаточно оптимальным. Поэтому сегодня эта процедура запускается в те моменты, когда нет обращений системы к виртуальному диску [1].
Перед выполнением «сборки мусора» необходимо выполнить поиск соответствующих фрагментов памяти, учесть количество недействительных блоков чтения/записи и число предшествующих циклов стирания, а также выявить области, в которых информация обновляется чаще, чем в других (в таких случаях особую важность приобретает проблема физического износа ячеек памяти).
В технических характеристиках флеш-накопителей указываются две скорости записи: пиковая и средняя (последняя в 2–3 раза ниже). Средняя скорость характеризует реальную производительность электроники, поскольку определяется эффективностью работы механизма «сборки мусора». Если механизм «сборки мусора» работает недостаточно эффективно, это вызывает падение быстродействия флеш-памяти.
1.3. Шина USB
Flash-диск (флешка) подключается к компьютеру через USB-порт. Для этого на флешке присутствует USB-разъем. Короче, передача данных осуществляется через шину USB, поэтому нелишним будет узнать несколько подробностей о ней. Главное, что следует знать, так это то, что на данный момент существуют два стандарта USB: USB 1.1 и USB 2.0 (готовится USB 3.0, но до начала его массового применения еще далеко).
Все современные флешки выпускаются в стандарте USB 2.0 уже пару-тройку лет, не меньше. В то же время существуют не -новые компьютеры, в которых USB-порт работает по стандарту USB 1.1, который в несколько раз медленнее работает, нежели USB 2.0. В итоге, если вы подключите даже флешку USB 2.0. к USB-порту 1.1, передача данных будет осуществляться по скоростям USB 1.1, то есть очень медленно.
Рис. 1.4. Символ USB
Для того чтобы получить представление о скоростях, присущих технологиям USB 1.1 и USB 2.0, обратите внимание на технические характеристики, приведенные ниже:
Технические характеристики USB 1.1:
• скорость: от 1,5 до 12 Мбит/с;
• максимальная длина кабеля для высокой скорости обмена — 5 м [1];
• максимальная длина кабеля для низкой скорости обмена — 3 м [1];
• максимальное количество подключённых устройств (включая размножители) — 127;
• возможно подключение устройств с различными скоростями обмена;
• напряжение питания для периферийных устройств — 5 В;
• максимальный ток потребления на одно устройство — 500 мА,
Технические характеристики USB 2.0 примерно такие же, за исключением скорости обмена, она составляет до 480 Мбит/с. На самом деле, хотя в теории скорость USB 2.0 может достигать 480 Мбит/с, устройства типа жёстких дисков и вообще любых носителей информации в реальности никогда не достигают такой скорости обмена по шине, хотя и могут развивать её. Это можно объяснить достаточно большими задержками шины USB между запросом на передачу данных и собственно началом передачи. Например, другая шина FireWire хотя и обеспечивает максимальную скорость в 400 Мбит/с, что на 80 Мбит/с меньше чем у USB, в реальности позволяет достичь больших скоростей обмена данными с жёсткими дисками и другими устройствами хранения информации [2].
1.4. Что у флешки внутри?
В подробности этого вопроса мы вдаваться не будем. Просто выясним для общего развития, что же у флешки внутри? Устройство флешки показано на рис. 1.5.
Рис. 1.5. Флешка изнутри
На рисунке обозначены:
1. USB-разъём.
2. Микроконтроллер.
3. Контрольные точки.
4. Микросхема Flash-памяти.
5. Кварцевый резонатор.
6. Светодиод.
7. Переключатель «защита от записи».
8. Место для дополнительной микросхемы памяти.
Глава 2.
Секреты эффективного пользования флешкой
2.1. Безопасное извлечение Flash-устройств
Довольно часто с флешкой обращаются довольно небрежно. Вставляют в компьютер (USB-порт), записывают на нее (или с нее) данные, потом выдергивают флешку. В принципе все так и должно быть, за исключением последнего этапа. Так делать, конечно, можно (просто выдергивать флешку из USB-порта), но при этом достаточно велик риск потери данных. Бывает это довольно редко, но когда случается — потерянные данные вернуть очень сложно, а чаще всего невозможно. Кроме того, поскольку порт USB является питающим (через него подается электричество на подключенные устройства), бывали случаи, что флешка просто перегорала из-за скачка напряжения.
Обезопасить себя от подобных казусов можно двумя способами: либо каждый раз использовать встроенный в Windows механизм извлечения, либо настроить процедуру быстрого извлечения Flash-диска из USB-порта. Первый способ является наиболее надежным, но медленным. Второй — позволяет выдергивать флешку, как вам заблагорассудится, но при этом нет гарантии сохранности файлов флешки, с которыми вы в данный момент работаете.
Стандартный механизм извлечения мы рассмотрим сейчас, а настройку быстрого извлечения — в следующем пункте данной главы.