Подготовка данных к анализу

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

Каждый метод предварительной подготовки может быть применен как к исходным микросхемам, так и к любому из результатов предварительной подготовки (или к нескольким результатам). Результатом выполнения любого из методов является создание нового результата (в зависимости от типа примененного метода их может быть больше одного), который будет размещен в том же узле.

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

Для выполнения метода объединения с двумя источниками, на результаты, которые могут выступать в качестве источников, накладывается следующие ограничения:

Соблюдение данных требований контролируется внутренними средствами самой программы.

Непосредственно к узлу "Микросхемы" могут быть применены следующие методы:

Результаты могут быть независимо друг от друга удалены.

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

Рисунок 1 - Методы предварительной подготовки

 

Побитовое инвертирование

Побитовое инвертирование это простейшее преобразование, позволяющее "проинвертировать" данные пользователя и/или служебные данные (нулевые биты заменяются единичными, а единичные, соответственно, нулевыми).

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

Рисунок 2 - Форма выбора вариантов инверсии

К списку методов

 

Разделение по дампам

Разделение по дампам это простейшее преобразование, которое позволяет разделить какой-либо результат (дамп) на несколько последовательных и равных части (2, 4, 8, 16). Такое преобразование результатов может понадобиться в случае четырех плановых операций (в этом случае, данные пишутся зеркально через 1/2 микросхемы памяти, подробнее см. здесь).

Например, нам необходимо разделить на две части одну микросхему памяти (точнее ее прочитанный дамп). Для этого воспользуемся методом "Подготовка данных к анализу \ Разделение по дампам".

Рисунок 3 - Контекстное меню микросхемы памяти

Укажем количество частей на которые мы хотим разделить результат (микросхему памяти).

Рисунок 4 - Форма выбора количества частей

В результате, мы получим два последовательных и равных результата из одного дампа микросхемы памяти.

Рисунок 4 - Результат операции разделения на дампы

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

Рисунок 5 - Результат операции разделения на дампы

К списку методов

 

Разделение по блокам

Разделение по блокам это простейшее преобразование, которое позволяет разделить какой-либо результат (дамп) на 2 равные части с чередованием блоков.

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

Рисунок 6 - Форма задания размера блока

Результаты преобразования в окне результатов подготовки  будут выглядеть следующим образом (метод применен непосредственно к единственной микросхеме памяти).

Рисунок 7 - Результаты преобразования

Соответственно, в случае граф-преобразований:

Рисунок 8 - Результаты преобразования

К списку методов

 

Объединение по блокам попарно

Объединение по блокам попарно это простейшее преобразование, которое позволяет объединить 2 равных по размеру результата в один общий путем последовательного чередования блоков из одного и другого результата (данное преобразование обратно преобразованию "разделение по блокам").

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

Рисунок 9 - Объединение по блокам попарно

Т.к. порядок объединения может иметь значение, то пользователю предоставляется возможность изменить его (по умолчанию порядок снизу-вверх и слева-направо).

Рисунок 10 - Форма изменения порядка объединения

Кроме этого, пользователю предлагается указать размер блока в секторах.

Рисунок 11 - Форма задания размера блока

Результаты преобразования в окне результатов подготовки  будут выглядеть следующим образом (метод применен двум результатам полученным при выполнении операции "разделение по дампам").

Рисунок 12 - Результаты преобразования

Соответственно, в случае граф-преобразований:

Рисунок 13 - Результаты преобразования

К списку методов

 

Объединение по байтам

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

К списку методов

 

Объединение дампов

Объединение дампов это простейшее преобразование, которое позволяет объединить 2 равных по размеру результата в один общий путем последовательного объединения результатов (данное преобразование обратно преобразованию "разделение по дампам").

К списку методов

 

Копирование в результаты обработки

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

К списку методов

 

Устранение характерного Interleave

"Устранение характерного Interleave" не является простейшим преобразованием. Это целый комплекс преобразований который может быть применен к исходному результату (микросхемам памяти) в том случае если в БД комплекса присутствует информация о поддержке этой операции данной микросхемой памяти.

К списку методов

 

Изменение формата страницы

Назначение метода – привести страницу не кратную 528 байтам к стандартному виду сектора, т.е. 512 байт данных пользователя + 16 байт служебной информации.

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

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

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

Рисунок 14- Задание преобразования из списка

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

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

"Размер сектора" - размер сектора к которому будет приводиться результат.

"Структура" - описывает распределение данных в интервале периодичности в следующей формате:

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

Каждый сектор состоит из:

Области данных пользователя – общий размер 512 байт,

+ Области служебной информации – общий размер 16 байт.

Каждая область может состоять из произвольного числа элементов. Элемент описывается следующим образом:

Смещение в интервале периодичности – размер данных;

Символы "–" между смещением и размером и ";" в конце описания элемента – обязательны.

Например, стандартное представление сектора, т.е. 512+16 будет иметь вид:

Структура сектора 2048+64 может быть приведена к стандартной с помощью такого преобразования:

Поле структуры может быть заполнено как вручную, так и с помощью "мастера" доступного через кнопку "!" справа от поля. Например, для того чтобы заполнить поле структуры для сектора  2048+64, в поля "мастера" вводятся следующие значения.

Рисунок 15- Формирование структуры страницы с помощью "мастера"

В результате будет получено следующее поле структуры.

К списку методов

 

Вращение блока

"Вращение блока" это преобразование устраняющее перераспределение данных в блоке связанное с использованием в логической структуре контроллера буфера типа FIFO (First In First Out). Коротко принцип вращения заключается в следующем. Предположим, что требуется записать некий объем данных. Эти данные помещаются в буфер. Находится область, с необходимым количеством свободного места. Имеющиеся данные из этой области вычитываются в тот же буфер. В результате во вновь сформированном буфере эти данные будут иметь некоторое смещение (определяемое объемом новых данных), которое записывается в служебную информацию сектора по аналогии с маркером. Далее, сформированный буфер записывается на накопитель в соответствующее место.

При использовании данного преобразования, пользователь может изменить (задать) положение маркера смещения и его вид.

 
Рисунок 16- Форма параметров для устранения вращения

Положение маркера определяется полем "позиция маркера" (обычно он располагается перед маркером с номером блока). Переключатели "структура маркера" определяют прямое/обратное расположение байт внутри маркера.

Поле "маска" задает маску сдвига для маркера. Например, маска 0x0FF0 говорит о том, что к двухбайтовому маркеру необходимо применить маску 0x0FF0 и сдвинуть результат вправо на 4 (т.е 0x1234 преобразуется в 0x0230 и после сдвига получаем  0x0023). Маска 0xFF00 для случая 0x1234 дает результат 0x0012.

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

К списку методов

 

Объединение по блокам для N источников

"Объединение по блокам для N источников" это расширенная версия преобразования "объединения по блокам попарно".

К списку методов