Команда MEDIUM SCAN

Команда MEDIUM SCAN позволяет просканировать диск (носитель) для поиска непрерывных записанных или пустых логических блоков.

Описание команды.

  • Байт 0

    В байт следует поместить код команды MEDIUM SCAN, равный 38h.

  • Байт 1

    Состоит из шести частей. В первую часть (биты 7—5) помещают логический номер устройства (ЛНУ). В данное время этот параметр не используется и оставлен ради совместимости с предыдущими стандартами интерфейса SCSI, поэтому сюда следует записать нулевое значение. Вторая часть (бит 4) определяет, сканирование каких логических блоков будет выполнено: записанных (Запись) или пустых. Установка этого бита в 0 позволит просканировать пустые (незаписанные) блоки, а установка его в 1 укажет на необходимость сканирования только записанных блоков на носителе. Третья часть (бит 3) определяет расширенный алгоритм сканирования (РАС). Установка бита 3 в 0 приведет к тому, что указанная область сканирования будет пройдена в последовательном порядке, т. е. через записанные и пустые блоки. Установка этого бита в 1 позволит отсканировать определяемую область поочередно для записанных и пустых логических блоков. Следует заметить, что изменение этого бита является лишь "просьбой" к устройству, и может им игнорироваться. В любом случае главной задачей бита 3 будет попытка использования расширенного алгоритма поиска (например, двоичного) указанных блоков. Четвертая часть (бит 2) определяет направление операции сканирования (Реверс): с первого логического блока указанной области (значение 0) или с последнего логического блока области сканирования. Пятая часть (бит 1) указывает на применение промежуточных результатов сканирования (ПРС). Установка его в 1 позволит успешно выполнить операцию сканирования для непрерывного пакета блоков в пределах области сканирования, а значение 0 заставит операцию сканирования продолжить сканирование даже при нахождении непрерывного пакета блоков в данной области сканирования. Шестая часть (бит 0) указывает на относительный адрес (ОА) для двоичного смещения при определении логического адреса.

  • Байты с 2 по 5

    Это поле определяет значение адреса логического блока на диске, с которого начнется сканирование носителя.

  • Байты 6 и 7

    Зарезервированы и не используются.

  • Байт 8

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

  • Байт 9

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

Выполнив после сканирования носителя команду REQUEST SENSE, можно получить значения результата. Приведем простые примеры использования команды MEDIUM SCAN в программе. Напишем функцию сканирования текущего носителя для поиска записанных блоков на Visual C++.

Листинг 9.3. Пример использования команды MEDIUM SCAN на Visual C++

Аналогичный пример операции сканирования, реализованный на языке Visual Basic, приведен в листинге 9.4.

Листинг 9.4. Пример использования команды MEDIUM SCAN на Visual Basic

 

 

2021-04-01

Google сообщил о запуске проекта Dunant

Проект Dunant, начатый в 2018 году, был запущен в эксплуатацию. Трансатлантический интернет-кабель соединяет США и континентальную Европу. Общая протяженность...

подробнее
2020-04-06

Новшества в обновленной Windows 10

Корпорация Microsoft завершила разработку обновления, в котором добавлено множество функций. Обновление содержит как доработку уже имеющихся систем, так...

подробнее

 

Все новости...

 

Научно-Техническое Объединение

Тел.: +7(4752) 55-95-86

E-mail:e-mail