Введение

Mass Storage Control Protocol (MSCP) - протокол, разработанный Digital Equipment Corporation в Мэнарде, штат Массачусетс, для управления высокопроизводительными вариантами массового хранения. Впервые реализованный в иерархическом контроллере хранения HSC50, протокол быстро распространился по всей линейке контроллеров массового хранения, построенных DEC. UDA50 является реализацией MSCP, построенной на карте Unibus; другие реализации (например, RQDX) простираются до шины Q и небольших дисковых накопителей объемом 5 мегабайт и даже дискет. Протокол разработан для минимизации затрат процессора, протокол зависит от двух очередей. В одну очередь помещаются пакеты, которые полностью описывают команды, которые должны быть выполнены подсистемой массового хранения. Для инициирования запроса ввода-вывода, процессору достаточно создать небольшую структуру данных в памяти, приложить ее к очереди "отправка", и если это первый пакет в очереди отправки, разбудить контроллер MSCP. После выполнения команды соответствующий пакет состояния помещается во вторую очередь, которую читает процессор. Перерывы в работе процессора (дорогая операция) не нужны, пока в командной очереди остаются дополнительные командные пакеты, и очереди ответа не угрожает переполнение. Пространство ввода-вывода читает и записывает в контроллер MSCP, менее дорогую, но все же дорогостоящую операцию, аналогично минимизируется. Поскольку пакеты MSCP были преднамеренно разработаны, чтобы напоминать пакеты, обмениваемые на VMScluster, это очень недорогая операция для отправки запросов хранения вокруг VMScluster для удаленного выполнения; это значительно облегчает создание крупномасштабных VMSclusters. Зависимость от пакетов памяти и минимизация перерывов и пространства ввода-вывода значительно облегчает удаленные операции.