Барабанная память — магнитное устройство хранения данных, изобретенное Густавом Таушеком в 1932 году в Австрии . [1] [2] Барабаны широко использовались в 1950-х и 1960-х годах в качестве компьютерной памяти .
Многие ранние компьютеры, называемые драм-компьютерами или драм-машинами, использовали барабанную память в качестве основной рабочей памяти компьютера. [3] Некоторые барабаны также использовались в качестве вторичного хранилища , например, различные барабанные накопители IBM и серия барабанов UNIVAC FASTRAND .
Барабаны были вытеснены в качестве основной компьютерной памяти памятью на магнитных сердечниках , которая предлагала лучший баланс размера, скорости, стоимости, надежности и потенциала для дальнейших улучшений. [4] Затем барабаны были заменены жесткими дисками для вторичного хранения , которые были и менее дорогими, и предлагали более плотное хранение. Производство барабанов прекратилось в 1970-х годах.
Барабанная память или барабанный накопитель содержали большой металлический цилиндр, покрытый с внешней поверхности ферромагнитным записывающим материалом. Его можно было бы считать предшественником жесткого диска (HDD), но в форме барабана (цилиндра), а не плоского диска. В большинстве конструкций один или несколько рядов фиксированных головок чтения-записи проходили вдоль длинной оси барабана, по одной на каждую дорожку. Контроллер барабана просто выбирал нужную головку и ждал, пока данные появятся под ней, когда барабан вращался ( задержка вращения ). Не все барабанные блоки были спроектированы так, чтобы каждая дорожка имела свою собственную головку. Некоторые, такие как барабан English Electric DEUCE и UNIVAC FASTRAND, имели несколько головок, перемещающихся на короткое расстояние по барабану в отличие от современных HDD, у которых одна головка на поверхность пластины.
В ноябре 1953 года Хаген опубликовал статью, в которой раскрывается «воздушное плавание» магнитных головок в экспериментальном барабане из листового металла. [5] Патент США, поданный в январе 1954 года Баумайстером из IBM, раскрывает «подпружиненный и поддерживаемый воздухом башмак для уравновешивания магнитной головки над быстро вращающимся магнитным барабаном». [6] Летающие головки стали стандартом в барабанах и жестких дисках .
Магнитные барабанные блоки, используемые в качестве первичной памяти, адресуются по слову. Барабанные блоки, используемые в качестве вторичной памяти, адресуются по блоку. Возможны несколько режимов адресации блоков в зависимости от устройства.
Некоторые устройства были разделены на логические цилиндры, и адресация по дорожкам фактически представляла собой логический цилиндр и дорожку.
Производительность барабана с одной головкой на дорожку сопоставима с производительностью диска с одной головкой на дорожку и определяется почти полностью задержкой вращения, тогда как в жестком диске с подвижными головками его производительность включает задержку вращения плюс время позиционирования головки над нужной дорожкой ( время поиска ). В эпоху, когда барабаны использовались в качестве основной рабочей памяти, программисты часто делали оптимальное программирование — программист — или ассемблер, например, Symbolic Optimal Assembly Program (SOAP) — размещали код на барабане таким образом, чтобы сократить количество времени, необходимое для вращения следующей инструкции на место под головкой. [7] Они делали это, определяя, сколько времени потребуется после загрузки инструкции, чтобы компьютер был готов прочитать следующую, а затем помещая эту инструкцию на барабан так, чтобы она прибыла под головку как раз вовремя. Этот метод временной компенсации, называемый «фактором пропуска» или « перемежением », использовался в течение многих лет в контроллерах запоминающих устройств.
Первоначальная барабанная память Таушека (1932) имела емкость около 500 000 бит (62,5 килобайт ). [2]
Одним из первых работающих компьютеров, использовавших барабанную память, был компьютер Атанасова–Берри (1942). Он хранил 3000 бит; однако для хранения информации он использовал емкость, а не магнетизм . Внешняя поверхность барабана была покрыта электрическими контактами, ведущими к конденсаторам, содержащимся внутри.
Магнитные барабаны были разработаны для ВМС США компанией Engineering Research Associates (ERA) в 1946 и 1947 годах. [8] Экспериментальное исследование ERA было завершено и доложено ВМС 19 июня 1947 года. [8] Другие ранние разработки барабанных запоминающих устройств происходили в колледже Биркбек ( Лондонский университет ), [9] Гарвардском университете , IBM и Манчестерском университете . Барабан ERA был внутренней памятью для компьютера ATLAS-I, поставленного ВМС США в октябре 1950 года и позже продававшегося на коммерческой основе как ERA 1101 и UNIVAC 1101. Благодаря слияниям , ERA стала подразделением UNIVAC, поставив барабан Series 1100 как часть файлового компьютера UNIVAC в 1956 году; каждый барабан хранил 180 000 6-битных символов (135 килобайт). [10]
Первый серийный компьютер IBM 650 (1954) изначально имел до 2000 10-значных слов, около 17,5 килобайт , барабанной памяти (позже в модели 4 объем был увеличен до 4000 слов, около 35 килобайт).
В BSD Unix и его потомках /dev/drum было именем устройства виртуальной памяти (свопа) по умолчанию [11] , что произошло от исторического использования вторичных устройств хранения данных типа «барабан» в качестве резервного хранилища для страниц виртуальной памяти .
Блоки памяти на основе магнитных барабанов использовались в центрах управления пусками МБР «Минитмен» с начала 1960-х годов до модернизации REACT в середине 1990-х годов.
Для данных использовалась барабанная память на 1070 слов, хранившаяся в виде двенадцати 6-битных цифр или символов на слово.