Подсчитайте ключевые данные - Count key data
Подсчитайте ключевые данные (CKD) это устройство хранения с прямым доступом (DASD)[а] формат записи данных, представленный в 1964 году компанией IBM с ее IBM System / 360 и до сих пор эмулируется на мэйнфреймах IBM. Это самоопределяющийся формат, в котором каждая запись данных представлена областью подсчета, которая идентифицирует запись и предоставляет количество байтов в необязательной области ключа и необязательной области данных. В этом отличие от устройств, использующих фиксированный размер сектора или дорожка отдельного формата.
Данные ключа подсчета (CKD) также относятся к набору команд канала (вместе они составляют командные слова канала, CCW), которые генерируются мэйнфреймом IBM для выполнения подсистемой DASD, использующей формат записи CKD.[1] Первоначальный набор CKD CCW, представленный в 1964 году, был существенно расширен и улучшен в 1990-е годы.
Формат трека CKD
«Начало трека сигнализируется при обнаружении индексного маркера (индексной точки).… Маркер автоматически распознается специальным датчиком».[2]:5 За индексным маркером следует домашний адрес, который указывает расположение этой дорожки на диске и содержит другую управляющую информацию, внутреннюю для блока управления. Фиксированной длины зазор следует по домашнему адресу. Далее каждый трек содержит Запись 0 (R0), запись дескриптора дорожки, которая «предназначена для того, чтобы все содержимое дорожки могло быть перемещено на альтернативные дорожки, если часть основной дорожки становится дефектной».[2]:7 После R0 идут блоки данных, разделенные пробелами.[2]:9
Принцип записи CKD заключается в том, что, поскольку длина блока данных может варьироваться, каждый блок имеет связанное поле счетчика, которое идентифицирует блок и указывает размер ключа, если он используется (определяемый пользователем до 255 байтов), и размер область данных, если используется.[3][b] Поле счетчика имеет идентификатор записи[c] в формате записи головки блока цилиндров - длина ключа и длина данных. Ключ может быть опущен или состоять из строки символов.
Каждая запись CKD состоит из поля подсчета, необязательного ключевого поля и необязательного[d] поле данных «пользователя» с информацией об исправлении / обнаружении ошибок, добавленной к каждому полю, и пробелами, разделяющими каждое поле.[4][5] Из-за пропусков и другой информации записанное пространство больше, чем требуется только для данных подсчета, ключевых данных или пользовательских данных. IBM предоставляет «эталонную карту» для каждого устройства, которую можно использовать для вычисления количества блоков на дорожку для различных размеров блоков, а также для оптимизации размера блока для устройства.[6] Позже для этих расчетов были написаны программы. Поскольку блоки обычно не разделяются между дорожками, указание неправильного размера блока может привести к потере до половины каждой дорожки.
Чаще всего ключ опускается, и запись размещается последовательно или путем прямой адресации записи головки блока цилиндров. Если он присутствует, ключ обычно является копией первого п байты записи данных (для «разблокированных» записей или копии самого высокого ключа в блоке для «заблокированных» записей), но могут быть любыми данными, которые будут использоваться для поиска записи, обычно с использованием Search Key Equal или ключ поиска: высокий или равный против часовой стрелки. Ключ (и, следовательно, запись) можно найти с помощью аппаратных команд.[7][страница нужна ] С момента введения Система IBM / 360 в 1964 г. почти все IBM большая и промежуточная система DASD использовали формат записи данных ключа подсчета.[8][страница нужна ]
Преимуществами формата записи данных счетного ключа являются:
- Размер записи может быть точно согласован с размером блока приложения
- Требования к процессору и памяти можно снизить, используя команды с ключом поиска.
- Подсистемы IBM CKD изначально работали синхронно с системным каналом и могут обрабатывать информацию в промежутках между различными полями, тем самым достигая более высокой производительности, избегая избыточной передачи информации на хост.[8] И синхронные, и асинхронные операции поддерживаются в более поздних подсистемах.[8]
Снижение цен на ЦП и память, а также более высокие скорости устройств и интерфейсов в некоторой степени свели на нет преимущества CKD, и они сохраняются только потому, что флагманская операционная система IBM z / OS не поддерживает секторно-ориентированные интерфейсы.
Первоначально записи CKD имели однозначное соответствие физической дорожке устройства DASD; однако со временем записи становятся все более и более виртуализированными, так что в современных мэйнфреймах IBM больше нет прямого соответствия между идентификатором записи CKD и физическим расположением дорожки.
Подсистемы IBM CKD DASD
Программирование
Доступ к определенным классам устройств ввода-вывода со стороны мэйнфрейма IBM находится под контролем Командные слова канала (CCW), некоторые из которых являются общими (например, нет операции), но многие из них относятся к типу устройства ввода-вывода (например, обратное чтение для ленточного накопителя). Группа CCW, определенная IBM для DASD, делится на пять широких категорий:
- Контроль - управление DASD, включая путь к нему
- Смысл - определение статуса DASD, включая путь к нему; некоторые сенсорные команды влияют на состояние контроллера и DASD способом, более соответствующим управляющей команде, например, RESERVE, RELEASE
- Написать - записывать информацию в контроллер или DASD (которая может быть буферизована или кэширована в пути)
- Поиск[e] - сравнивать информацию от CPU с информацией, хранящейся в DASD; Канал работает в режиме записи, в то время как блок памяти работает в режиме чтения.
- Читать - читать информацию из DASD (которая может быть буферизована или кэширована в пути)
CKD CCW - это особый набор CCW, используемый для доступа к подсистемам CKD DASD. Это в отличие от фиксированная блочная архитектура (FBA) CCW, которые используются для доступа к подсистемам FBA DASD.
CKD DASD адресуются как другие устройства ввода / вывода; для System / 360 и System / 370 DASD адресуются напрямую, через каналы и соответствующие блоки управления[9][10][11] (SCU или Storage Control Unit), изначально с использованием трех шестнадцатеричных цифр, одной для канала и двух для блока управления и устройства, обеспечивая адресацию до 16 каналов, до 256 механизмов доступа DASD на канал и всего 4096 адресов DASD. Современные мэйнфреймы IBM используют четыре шестнадцатеричных цифры в качестве произвольного номера подканала в подсистеме канальной подсистемы, определение которой включает фактические каналы, блоки управления и устройство, обеспечивая адресацию до 65 536 DASD на каждую подсистему подсистемы канала. На практике физические и конструктивные ограничения канала и контроллеров ограничивают максимальное количество подключенных DASD, подключаемых к системе, до меньшего количества, чем количество, которое можно адресовать.
Упаковка
Первоначально существовала высокая степень соответствия между логическим представлением доступа к DASD и реальным оборудованием, как показано на иллюстрации выше. Обычно прикреплялись трехзначные ярлыки[f] для определения адреса канала, блока управления и устройства.
В младших системах канал и блок управления часто были физически интегрированы, но оставались логически разделенными. Новая стратегия IBM в отношении вложений[12] Начиная с модели 3830 Model 2 в 1972 году, SCU физически разделен на два физических объекта, директора и контроллера, при этом оставаясь логически одинаковыми. Контроллер обрабатывает форматирование дорожки CKD и упакован с первым диском или дисками в цепочке дисков и имеет номер модели с буквой «A» в качестве префикса, «A-Unit» (или «A-Box») как в модели 3350 A2, содержащей контроллер и два DASD. DASD без контроллера, то есть блоки B, имеют префикс "B" в номере модели.
Подсистемы CKD[грамм] а директора предлагались IBM и подключались к совместимым конкурентам, по крайней мере, до 1996 года (с 2301 по 3390 Model 9);[13] всего 22 уникальных[час] Предлагаемый IBM DASD настроен как минимум на 35 различных конфигурации подсистем. Совместимость с плагинами предлагала многие из тех же DASD, включая 4 подсистемы CKD с уникальным DASD.[я]
Первоначальный набор функций ХБП
Первоначальный набор функций, предоставленный IBM с ее введением в 1964 году формата дорожек CKD и связанных CCW, включал:.
- Неисправный / альтернативный трек - позволяет альтернативному треку заменить дефектный трек прозрачным для используемого метода доступа.
- Запись переполнена - записи могут превышать максимальную длину трека DASD[4]
- Многодорожечные операции - конкретные CCW могут переходить к следующей последовательной головке[4]
- Командная цепочка - CCW могут быть связаны вместе для создания сложных программ канала. Промежутки в формате дорожки CKD обеспечивали достаточное время между командами, так что все действия канала и SCU, необходимые для завершения команды, могли выполняться в промежутке между соответствующими полями.[14] Такие программы могут искать большой объем информации, хранящейся на DASD, после успешного завершения возвращая только желаемые данные и тем самым освобождая ресурсы ЦП для другой деятельности.[15] Этот режим работы, синхронный с зазором, позже был усилен дополнительными CCW, позволяющими несинхронный режим работы.
- Переключение каналов - SCU может использоваться совместно между каналами - изначально было предусмотрено переключение на два канала, а в более поздних SCU оно было расширено до восьми каналов. Каналы могут быть на одном или разных CPUS.
Набор функций сканирования также был предоставлен, но не продолжен в будущих подсистемах CKD, кроме 2314.
Сорок одна CCW реализовала набор функций:
Командный класс | Команда ‡ | 2301[17] | 2302[4] | 2303[4] 7320[18][j] | 2311[4] | 2321[4] | 2314 2319[19] | MT Выключенный | MT На † | Длина счета |
---|---|---|---|---|---|---|---|---|---|---|
Контроль | Нет Op | S | S | S | S | S | S | 03 | ||
Искать | S | S | S | S | S | S | 07 | 6 | ||
Искать цилиндр | S | S | S | S | S | S | 0B | 6 | ||
Искать голову | S | S | S | S | S | S | 1B | 6 | ||
Установить маску файла | S | S | S | S | S | S | 1F | 1 | ||
Количество мест | S | S | S | S | S | S | 0F | 3 | ||
Перекалибровать | S | S | 13 | Не ноль | ||||||
Восстановить | S | 17 | Не ноль | |||||||
Смысл | Смысловой ввод / вывод | S | S | S | S | S | S | 04 | 6 | |
Выпуск устройства | О | О | О | О | О | О | 94 | 6 | ||
Резервное устройство | О | О | О | О | О | О | B4 | 6 | ||
Поиск | EQ домашнего адреса | S | S | S | S | S | S | 39 | B9 | 4 (обычно) |
Идентификатор EQ | S | S | S | S | S | S | 31 | B1 | 5 (обычно) | |
Идентификатор HI | S | S | S | S | S | S | 51 | D1 | 5 (обычно) | |
Идентификатор EQ или HI | S | S | S | S | S | S | 71 | FI | 5 (обычно) | |
Ключевой эквалайзер | S | S | S | S | S | S | 29 | A9 | От 1 до 255 | |
Ключ HI | S | S | S | S | S | S | 49 | C9 | От 1 до 255 | |
Key EQ или HI | S | S | S | S | S | S | 69 | E9 | От 1 до 255 | |
Ключ и данные EQ | О | О | О | S | 2D | ОБЪЯВЛЕНИЕ | См. Примечание 2 | |||
Ключ и данные HI | О | О | О | S | 4D | CD | См. Примечание 2 | |||
Key & Data EQ или HI | О | О | О | S | 6D | ED | См. Примечание 2 | |||
Продолжить сканирование (см. Примечание 1) | Поиск EQ | О | О | О | S | 25 | A5 | См. Примечание 2 | ||
Поиск HI | О | О | О | S | 45 | C5 | См. Примечание 2 | |||
Поиск HI или EQ | О | О | О | S | 65 | E5 | См. Примечание 2 | |||
Установить сравнение | О | О | О | S | 35 | B5 | См. Примечание 2 | |||
Установить сравнение | О | О | О | S | 75 | F5 | См. Примечание 2 | |||
Нет сравнения | О | О | О | S | 55 | D5 | См. Примечание 2 | |||
Читать | Домашний адрес | S | S | S | S | S | S | 1А | 9А | 5 |
Считать | S | S | S | S | S | S | 12 | 92 | 8 | |
Запись 0 | S | S | S | S | S | S | 16 | 96 | Количество переданных байтов | |
Данные | S | S | S | S | S | S | 06 | 86 | ||
Ключевые данные | S | S | S | S | S | S | 0E | 8E | ||
Считать. Ключевые данные | S | S | S | S | S | S | 1E | 9E | ||
IPL | S | S | S | S | S | S | 02 | |||
Написать | Домашний адрес | S | S | S | S | S | S | 19 | 5 (обычно) | |
Запись 0 | S | S | S | S | S | S | 15 | 8 * КЛ * ДЛ РО | ||
Счетчик, ключ и данные | S | S | S | S | S | S | 1D | 8 + KL + DL | ||
Специальный счетчик, ключ и данные | S | S | S | S | S | S | 01 | 8 + KL + DL | ||
Данные | S | S | S | S | S | S | 05 | DL | ||
Ключевые данные | S | S | S | S | S | S | 0D | KL * DL | ||
Стереть | S | S | S | S | S | S | 11 | 8 * КЛ * ДЛ | ||
Всего CCW | 41 | 30 | 39 | 30 | 40 | 40 | 40 |
Примечания:
- O = дополнительная функция
- S = стандартная функция
- MT = многодорожечный: при поддержке против часовой стрелки будет продолжать работать на следующих головках в последовательности до конца цилиндра
- ‡ = TIC (Transfer In Channel) и другие стандартные команды не показаны.
- † = код такой же, как MT Off, за исключением перечисленных
- 1. Функция сканирования файлов (9 против часовой стрелки) доступна только на 2841 для 2302, 2311 и 2321; они не были доступны на последующих контроллерах DASD для DASD после 2314 года.
- 2. Счетчик - это количество байтов в аргументе поиска, включая байты маски.
Изначально CCW выполнялись двумя типами SCU, подключенными к высокоскоростной системе. Селектор каналов. В 2820 SCU[17] управлял барабаном 2301, а 2841 SCU[4] контролируемые комбинации 2302 Дисковое хранилище, 2311 Дисковод, 2321 Ячейка данных и / или 7320 барабанное хранилище. IBM быстро заменила 7320 на более быстрый и мощный 2303.
Впоследствии набор функций был реализован на 2314 семейство элементов управления хранилищем и интегрированная насадка System 370 Model 25.
Следующий пример программы канала[19] читает дисковую запись, идентифицированную полем Key. Трек, содержащий запись и желаемое значение ключа, известен. SCU выполнит поиск трека, чтобы найти запрошенную запись. В этом примере <> указывают, что программа канала содержит адрес хранения указанного поля.
SEEK <номер цилиндра / головки> SEARCH KEY EQUAL <ключевое значение> TIC * -8 Вернуться к поиску, если не равно READ DATA
- TIC (передача в канале) заставит программу канала перейти к команде SEARCH, пока не встретится запись с совпадающим ключом (или конец дорожки). Когда будет найдена запись с совпадающим ключом, SCU включит модификатор состояния в статус канала, заставляя канал пропускать TIC CCW; таким образом, программа канала не будет разветвляться, и канал выполнит команду READ.
Улучшения каналов блочного мультиплексора
В блочный мультиплексорный канал был представлен в 1971 году на некоторых высокопроизводительных системах System / 360 вместе с блоком управления 2835 и связанным с ним 2305 DASD,[20] Этот канал был тогда стандартным для IBM System / 370 и последующих мэйнфреймов; по сравнению с предыдущим каналом Selector он предлагал улучшения производительности для высокоскоростных устройств, таких как DASD, в том числе:
Множественный запрос
Допускаются многоканальные программы,[k]быть одновременно активным на объекте[20] в отличие от только одного с каналом выбора. Фактическое количество предоставляемых подканалов зависит от модели системы и ее конфигурации.[21] Иногда описываемое как объединение команд с отключением, блок управления может отключаться в разное время в течение связанного набора CCW, например, отключение для Seek CCW, освобождая канал для другого подканала.
Повторить попытку
Управление каналом и хранилищем при определенных условиях может взаимодействовать, чтобы вызвать повторную попытку CCW без прерывания ввода-вывода.[20]Эта процедура инициируется системой управления хранилищем и используется для восстановления после исправимых ошибок.
Определение вращательного положения
Определение положения вращения (RPS) было реализовано с помощью двух новых CCW, SET SECTOR и READ SECTOR, позволяющих каналу задерживать цепочку команд до тех пор, пока диск не повернется в заданное угловое положение трека. RPS позволяет отключать канал в течение большей части периода задержки вращения и, таким образом, способствует увеличению использования канала. Блок управления реализует RPS, разделяя каждую дорожку на равные угловые сегменты.[20]
Пример программы канала
Следующий пример программы канала отформатирует дорожку с R0 и тремя записями CKD.[20]
SEEK <номер цилиндра / головки> УСТАНОВИТЬ МАСКУ ФАЙЛА <разрешить операции записи> УСТАНОВИТЬ СЕКТОР <номер сектора = 0> ЗАПИСАТЬ R0 <цилиндр / головка / R0, длина ключа = 0, длина данных = 6> ЗАПИСАТЬ CKD <цилиндр / головка / R1 , длина ключа, длина данных> WRITE CKD <цилиндр / головка / R2, длина ключа, длина данных> WRITE CKD <цилиндр / головка / R3, длина ключа, длина данных>
В этом примере Запись 0 соответствует стандартам программирования IBM. С каналом блочного мультиплексора канал свободен во время поиска DASD и снова, пока диск вращается к началу дорожки. Селекторный канал будет занят на всем протяжении этой демонстрационной программы.
Пропуск дефекта
Пропуск дефектов позволяет записывать данные до и после одного или нескольких дефектов поверхности.[l] разрешение использования всей дорожки за исключением той части, которая имеет дефект. Это также устраняет время, которое раньше требовалось для поиска альтернативного пути.[22] Можно было пропустить только ограниченное количество дефектов, поэтому для треков с избыточными дефектами оставалась поддержка альтернативных дорожек.
Пропуск дефектов был введен в 1974 году с 3340, подключенным через блок управления хранилищем 3830 Model 2.[22] или интегрированные насадки на небольших системах. Пропуск дефектов был в основном заводской функцией до 1981 года, когда были выпущены CCW для управления вместе с соответствующими утилитами.[23]
Динамические пути
Впервые представлен с 3380 DASD на 3880 Блок управления складом[24] в 1981 году эта функция была включена в более поздние подсистемы CKD DASD. Функция динамического выбора пути контролирует работу двух контроллеров, включая одновременную передачу данных по двум путям. При поддержке операционной системы каждый контроллер может служить альтернативным путем в случае, если другой контроллер недоступен.[25]
Три дополнительные команды, Set Path Group ID, Sense Path Group ID и Suspend Multipath Reconnection, используются для поддержки подключения моделей 3380, имеющих два контроллера в начале строки.[24]
Команда Set Path Group ID с функцией динамического выбора пути (DPS) обеспечивает большую гибкость в операциях с зарезервированными устройствами. Как только группа путей для устройства создана, к ней можно получить доступ по любому пути, который является членом группы. которой он зарезервирован. Кроме того, в системах 370-XA, которые устанавливают бит режима многолучевого распространения в байте управления функцией (байт 0) на 1, блочные мультиплексные повторные соединения будут происходить на первом доступном пути, который является членом группы, по которой была инициирована программа канала (независимо от состояние резервирования устройства).[24]
Если контроллер, указанный в адресе ввода-вывода, занят или отключен, выбор динамического пути позволяет установить альтернативный путь к устройству через другой диспетчер хранилища и другой контроллер в модели AA.[25]
Несинхронная работа
До введения в 1981 г. директора 3880, записи CKD были доступны синхронно, все действия требовали, чтобы одна CCW была завершена, а следующая инициирована в промежутках между полями CKD.[14] Размер зазора накладывал ограничения на длину кабеля, но обеспечивал очень высокую производительность, поскольку сложные цепочки CCW могли выполняться подсистемой в реальном времени без использования памяти ЦП или циклов.
Несинхронная работа предоставляемый расширенным CKD («ECKD») набором CCW, устраняет ограничение по времени перерыва.[14] Пять дополнительных CCW ECKD - это определить экстент, найти запись, записать данные обновления, записать ключ и данные обновления и записать следующую дорожку CKD.[24]
В несинхронной работе передача данных между каналом и управлением хранилищем не синхронизирована с передачей данных между элементом управления хранилищем и устройством. Канальные программы могут выполняться так, что действия по управлению каналом и хранилищем, необходимые для завершения выполнения одной команды и перехода к следующей, не должны происходить во время промежутка между записями между двумя соседними полями. Промежуточный буфер в системе управления памятью позволяет выполнять независимые операции между каналом и устройством. Главное преимущество ECKD - это гораздо более длинные кабели; в зависимости от приложения это может улучшить производительность.[14]
CCW ECKD поддерживаются во всех последующих подсистемах CKD.
В этом примере программа несинхронного канала считывает записи R1 и R2 из дорожки X'0E 'в цилиндре X'007F'. Обе записи имеют длину ключа 8 и длину данных X'64 '(10010) байтов.[24]
Определить экстентНайти запись <цилиндр = X'007F ', head = X'000E' Прочитать ключ и данные Прочитать данные < запись = X'001108 '>
Кеширование
Кеширование впервые введен в подсистемы DASD CKD компанией Memorex[26] (1978) и StorageTek[м] (1981) был впоследствии представлен в конце 1981 года IBM на модели 3880 Model 13 для моделей 3380 с динамическим перемещением.[n]
Кэш динамически управляется алгоритмом; доступ к данным с высокой активностью осуществляется из высокопроизводительного кэша, а к данным с низкой активностью - из менее дорогого хранилища DASD. Большая память в Директоре, кэш, разделена на слоты дорожек, в которых хранятся данные с 3380 дорожек. Меньшая область - это каталог, содержащий записи, которые позволяют размещать данные в кэше.[27]
Кеши были также предоставлены для введенных впоследствии средств управления хранением.
Прочие расширения
Со временем ряд CCW управления маршрутом, диагностики и / или восстановления после ошибок был реализован на одном или нескольких элементах управления хранилищем. Например:
- Безусловное резервирование позволило освободить устройство, зарезервированное для другого канала, и зарезервировать устройство для канала, выдающего команду.
- Чтение данных ключа с несколькими счетчиками может более эффективно читать полные дорожки, что обеспечивает более эффективное резервное копирование.
За пределами системы / 370
Снижение цен на ЦП и память, а также более высокие скорости устройств и интерфейсов в некоторой степени свели на нет преимущества CKD, и поддержка IBM продолжается до сих пор, поскольку ее флагманская операционная система z / OS продолжает использовать CKD CCW для многих функций.
Первоначально записи CKD имели однозначное соответствие физической дорожке устройства DASD; однако со временем записи становились все более и более виртуализированными, так что в современном мэйнфрейме IBM больше нет прямого соответствия между идентификатором записи CKD и физическим расположением дорожки. Мэйнфрейм IBM создает образы дорожек CKD в памяти и выполняет программы каналов ECKD и CKD для изображения. Чтобы соединить собственные диски с фиксированным размером блока и формат записи ECKD / CKD переменной длины, образы дорожек CKD в памяти отображаются на серию фиксированных блоков, подходящих для передачи в дисковую подсистему FBA и из нее.[28]
Из 83 CKD CCW, реализованных для каналов System / 360 и System / 370, 56 эмулируются в системах System / 390 и более поздних версиях.[28]
Смотрите также
- Блок (хранилище данных)
- Набор данных (мэйнфрейм IBM)
- Архитектура с фиксированным блоком (FBA)
- Запись (информатика)
- Трек (диск)
- Объем Содержание (VTOC)
Примечания
- ^ Чаще всего жесткий диск.
- ^ длина данных 0 указывает EOF
- ^ Поскольку записи имеют переменную длину и номер записи на треке не обязательно должен быть уникальным, номер записи не соответствует угловому смещению.
- ^ Запись с нулевой длиной данных является записью EOF, и ее чтение вызывает исключение модуля.
- ^ Технически пишет
- ^ В некоторых ранних DASD метка была на вилке, которая позволяла перемещать адрес между DASD.
- ^ Это комбинация SCU и одного или нескольких DASD или A-Unit с любыми присоединенными B-модулями.
- ^ Уникальное сочетание количества треков и максимальной длины трека. При таком определении DASD двойной плотности считается уникальным DASD.
- ^ двойная плотность 2314, тройная плотность 3330, двойная плотность 3350 и твердотельный диск
- ^ 2302 заменил 7230. Datamation, март 1966 г., стр. 81 год
- ^ В случае 2305, до 8 программ каналов для одного диска и 16 на одном SCU
- ^ Количество пропускаемых дефектов зависит от модели DASD.
- ^ STK 8890 CyberCache для совместимых STK 3350
- ^ Одновременно было объявлено, что 3880-11 использует свой кэш в режиме подкачки 3350s в качестве устройств подкачки.
Рекомендации
- ^ Введение в IBM 3990 Storage Control - 6-е изд., IBM Corp, GA32-0098-05, февраль 1994 г.
- ^ а б c Корпорация IBM (сентябрь 1969 г.). Описание компонентов IBM System / 360 2314 Direct Access Storage Facility и 2844 A Additional Storage Control (PDF). Получено 5 декабря, 2019.
- ^ «Подсчитать ключевые данные». Центр знаний IBM. Международная корпорация бизнес-машин. Получено 6 августа 2014.
- ^ а б c d е ж грамм час Описание компонентов IBM System / 360 - 2841 и связанный с ним DASD (PDF). Издание восьмое. IBM. Декабрь 1969 г. GA26-5988-7. В архиве (PDF) из оригинала на 2011-10-14. Получено 2015-12-07.
- ^ «Формат записи данных счётчика». IBM 3390 Direct Access Storage Введение. Международная корпорация бизнес-машин. 22 октября 1965 г. GC26–4573–03.
- ^ Корпорация IBM (ноябрь 1973 г.). Дисковое хранилище серии 3330 Модели 3333 1 и 11 Справочная информация 3330 моделей 1, 2 и 11 (PDF). Получено 5 декабря, 2019.
- ^ Houtekamer, Gilbert E .; Артис, Х. Пэт (1993). Подсистемы ввода-вывода MVS: управление конфигурацией и анализ производительности. Нью-Йорк: Макгроу-Хилл. ISBN 978-0-07-002553-0. OCLC 26096983.
- ^ а б c «Синхронные операции DASD». Введение в подсистемы хранения с несинхронным прямым доступом. Международная корпорация бизнес-машин. Январь 1990 года. GC46–4519–0.
- ^ Принципы работы IBM System / 360, GA22-6821, Операции ввода / вывода
- ^ Принципы работы IBM System / 370, GA22-7000, Операции ввода / вывода
- ^ Архитектура корпоративных систем IBM / Принципы работы 370, SA22-7000, Глава 13. Обзор ввода-вывода
- ^ Исторический рассказ 1970-х, США против IBM, Exhibit 14971, стр.1051
- ^ 3390 снято с продажи в 1996 г.
- ^ а б c d Введение в подсистемы хранения несинхронного прямого доступа, IBM. GC26-4519-0, январь 1990 г.
- ^ Архитектура подсистемы ввода-вывода, J. Buzen, Proc IEEE, июнь 1975 г., стр. 871
- ^ Происходит от Карта справочных данных IBM System / 360 (зеленая), GX20-1703-9
- ^ а б IBM System / 360 Component Descriptions-2820 Storage Control и 2301 Drum Storage (PDF). В архиве (PDF) из оригинала от 04.03.2016. Получено 2015-08-28.
- ^ Описание компонентов IBM System / 360 - 2841 и связанный с ним DASD (PDF). Первое издание. IBM. A26-5988-0.
- ^ а б Описание компонентов IBM System / 360 2314 Direct Access Storage Facility и 2844 A Additional Storage Control (PDF) (Седьмое изд.), Ноябрь 1971 г., GA26-3599-6
- ^ а б c d е Справочное руководство для IBM 2835 Storage Control и IBM 2305 Fixed Head Storage Module (PDF). Октябрь 1983 г. GA26-1589-5. В архиве (PDF) из оригинала от 04.03.2016. Получено 2015-12-21.
- ^ Ввод / вывод - Белая книга, Дж. Кеттнер, IBM, ноябрь 2007 г.
- ^ а б Справочное руководство для 3830 Model 1
- ^ Средства поддержки устройств, руководство пользователя и справочная информация. Выпуск 4.0, Май 1981 г., стр. Vi, 46, 61, 87
- ^ а б c d е IBM 3880 Storage Control, Руководство по описанию моделей 1, 2, 3 и 4, GA26-1661-9, сентябрь 1987 г., раздел 4
- ^ а б IBM 3380 Direct Access Storage Описание и руководство пользователя, GA26-1664-1, декабрь 1981 г.
- ^ «Теперь Memorex заполняет пробел в производительности вашей системы». Datamation Advertising, август 1978 г., стр. 85-6
- ^ Введение в IBM 3880 Storage Control Model 13, GA32-00622-0, сентябрь 1981 г.
- ^ а б IBM S / 390 Multiprise 3000 Enterprise Server, Внутренняя дисковая подсистема: Справочное руководство. IBM. Ноябрь 1999 г.
дальнейшее чтение
- Отдел обработки данных IBM (февраль 1974 г.). Введение в устройства хранения с прямым доступом IBM и методы организации (PDF) (Десятое изд.). Белые равнины: машины международного бизнеса. OCLC 8063006. GC20-1649-9. Получено 6 августа 2014.
- Разработка архитектуры 360/370 - взгляд простого человека П.Дж. Гриббин, 10 февраля 1989 г., главы 8–10.