Добавить в цитаты Настройки чтения

Страница 2 из 8

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

Из-за необходимости предварительной зачистки (стирания) ячеек, для флешек существует некоторая путаница с порциями данных: битом, байтом, блоком чтения/записи и областью стирания. Байт — минимальная величина записанной информации; а блок — минимальное количество байт, которые можно прочесть из памяти за один цикл обращения. Область стирания есть совокупность ячеек, содержимое которых стирается за одну операцию. Минимальной же единицей хранения информации на жестком диске является сектор. Так вот, порции данных флешки (блоки, область стирания), как правило, не совпадают по размеру с сектором жесткого диска. Во избежание несовместимости операционная система реализует как бы виртуальные сектора для флешек, которые фактически формируются блоками чтения/записи, на которые в частности разбивается и область стирания.

Наконец, необходимо отметить, что флеш-память, в отличие от жесткого диска, выдерживает ограниченное количество циклов записи-стирания. В то время как для жесткого диска его долговечность зависит от механической износостойкости. Технологически в идеале возможна практически неограниченная эксплуатация (знай себе намагничивай и размагничивай). Для разных флешек число повторных стираний варьируется примерно от 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].