Книга: Восстановление данных на 100%

Логическая организация

Логическая организация

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

На жестких и гибких дисках величина блока составляет 512 байтов, не считая 95 служебных байтов, которые видны только контроллеру винчестера. Все файловые системы создавались именно с учетом этих значений. Проблема в том, что во flash-памяти величина блока стирания, за редким исключением, не совпадает с величиной стандартного дискового сектора в 512 байтов и обычно составляет 4, 8 и даже 64 Кбайт. С другой стороны, для обеспечения совместимости блок чтения/записи должен совпадать с величиной дискового сектора.

Для этого блок стирания разбивается на несколько блоков чтения/записи с размером 512 байтов. На практике блок чуть больше: кроме 512 байтов для данных, в нем еще есть хвост (Tail) длиной 16 байтов для служебной информации о самом блоке. Физически расположение и количество блоков чтения/записи ничем не ограничены. Единственное ограничение – блок чтения/записи не должен пересекать границу блока стирания, так как он не может принадлежать двум разным блокам стирания.

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

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

Для увеличения срока службы памяти используется технология управления износом (Wear-leveling Control), которая продлевает жизненный цикл кристалла памяти за счет равномерного распределения циклов записи/стирания блоков памяти. Побочный эффект – выход из строя одного блока памяти – не сказывается на работе остальных блоков памяти того же кристалла. Неподвижные блоки принадлежат файлам, которые долго или вообще никогда не изменялись и не перемещались. Наличие неподвижных блоков данных приводит к тому, что оставшаяся часть ячеек подвергается усиленному износу и быстрее расходует свой ресурс. Микропрограмма учитывает такие блоки и по мере необходимости перемещает их содержимое в другие ячейки.

Файловые системы flash-дисков и карт памяти, на первый взгляд, хорошо знакомы пользователям по жестким и гибким дискам. Это FAT16, реже FAT32: именно так предлагает отформатировать диск операционная система Windows. Стандартными средствами Windows XP и Windows Vista диск можно отформатировать даже в систему NTFS! Для этого нужно предварительно зайти в Диспетчер устройств и в окне свойств подключенного flash-диска на вкладке Политика выбрать значение Оптимизация для быстрого выполнения. Специальные программы от производителей, например HP USB Disk Storage Format Tool, позволяют форматировать flash-диски в NTFS и без таких усилий.

Однако это впечатление обманчиво. Файловая система flash-памяти (Flash File System, FFS) лишь эмулирует обычный дисковый накопитель и состоит из блоков управления и блока инициализации. На самом деле об истинном расположении и адресации блоков памяти знает только контроллер flash-диска или карты памяти.

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

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

Нововведением является файловая система exFAT (Extended FAT – расширенная FAT). Поддержка этой специально разработанной для flash-дисков файловой системы впервые появилась в Windows Embedded CE 6.0. С exFAT работает и Windows Vista Service Pack 1 (рис. 4.4).


Рис. 4.4. Окно форматирования flash-диска в Windows Vista SP1

Назначение новой файловой системы – постепенная замена FAT и FAT32 на flash-накопителях. В ней заложены некоторые черты, ранее присущие файловой системе NTFS:

• преодолено ограничение в размере файла в 4 Гбайт: теоретически лимит составляет 264 байтов (16 эксабайтов);

• улучшено распределение свободного места за счет введения битовой карты свободного места, что уменьшает фрагментацию диска;

• снят лимит на количество файлов в одной директории;

• введена поддержка списка прав доступа. flash-диска в Windows Vista SP1

Насколько скоро эта файловая система станет нормой для «флэшек», покажет время. Видимо, это произойдет не раньше, чем все перейдут на ОС Windows Vista.

Оглавление книги


Генерация: 1.326. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз