Введение

Магнитное устройство хранения данных

Барабанная память — это магнитное устройство хранения данных, изобретенное Густавом Таушеком в 1932 году в Австрии. Барабаны широко использовались в 1950-х и 1960-х годах в качестве компьютерной памяти. Многие ранние компьютеры, называемые барабанными компьютерами или барабанными машинами, использовали барабанную память в качестве основной оперативной памяти компьютера. Некоторые барабаны также использовались в качестве дополнительной памяти, например, различные устройства барабанной памяти IBM. Барабаны были вытеснены в качестве основной компьютерной памяти магнитной памятью на сердечниках, которая обеспечивала лучший баланс между размером, скоростью, стоимостью, надежностью и возможностью дальнейшего улучшения. Затем барабаны были заменены жесткими дисками для дополнительной памяти, которые были дешевле и обеспечивали более плотное хранение данных. Производство барабанов прекратилось в 1970-х годах.

Техническая конструкция

Барабанная память или барабанный накопитель содержал большой металлический цилиндр, покрытый на внешней поверхности ферромагнитным материалом для записи. Его можно считать предшественником жесткого диска (HDD), но в форме барабана (цилиндра), а не плоского диска. В большинстве конструкций вдоль длинной оси барабана располагались один или несколько рядов фиксированных головок чтения-записи, по одной для каждой дорожки. Контроллер барабана просто выбирал нужную головку и ждал, пока данные не появятся под ней при вращении барабана (время вращения или задержка вращения). Не все барабанные устройства были спроектированы с отдельной головкой для каждой дорожки. Некоторые, например, барабан English Electric DEUCE и UNIVAC FASTRAND, имели несколько головок, перемещающихся на небольшое расстояние по барабану, в отличие от современных HDD, в которых на каждую поверхность пластины приходится одна головка. В ноябре 1953 года Хаген опубликовал статью, раскрывающую принцип "воздушной подвески" магнитных головок в экспериментальном барабане из листового металла. Патент США, поданный в январе 1954 года Баумейстером из IBM, описывал "подпружиненную и поддерживаемую воздухом скользующую платформу для удержания магнитной головки над быстро вращающимся магнитным барабаном". Головки с воздушной подвеской стали стандартными как для барабанов, так и для жестких дисков. Магнитные барабанные устройства, используемые в качестве основной памяти, адресовались по словам. Барабанные устройства, используемые в качестве вторичной памяти, адресовались по блокам. Существовало несколько способов адресации блоков, в зависимости от устройства. Блоки занимали всю дорожку и адресовались по номеру дорожки. Дорожки делились на секторы фиксированной длины, и адресация осуществлялась по дорожке и сектору. Блоки могли иметь переменную длину и адресовались по номеру дорожки и записи. Блоки могли иметь переменную длину с ключевым словом, что позволяло осуществлять поиск по содержанию ключа. Некоторые устройства были разделены на логические цилиндры, и адресация по дорожке фактически осуществлялась по логическому цилиндру и дорожке. Производительность барабана с одной головкой на дорожку сопоставима с производительностью диска с одной головкой на дорожку и определяется почти исключительно задержкой вращения, в то время как в HDD с перемещающимися головками его производительность включает задержку вращения плюс время на позиционирование головки над нужной дорожкой (время поиска). В эпоху, когда барабаны использовались в качестве основной рабочей памяти, программисты часто применяли оптимальное программирование – сам программист или ассемблер, например, Symbolic Optimal Assembly Program (SOAP) – размещал код на барабане таким образом, чтобы сократить время, необходимое для того, чтобы следующая инструкция оказалась под головкой. Они делали это, рассчитывая, сколько времени потребуется компьютеру для подготовки к чтению следующей инструкции, а затем размещали эту инструкцию на барабане так, чтобы она прибыла под головку как раз вовремя. Этот метод компенсации времени, называемый "коэффициентом пропуска" или "чередованием", на протяжении многих лет использовался в контроллерах памяти.

История

Первоначальная барабанная память Таушека (1932) имела ёмкость около 500 000 бит (62,5 килобайта). Экспериментальное исследование, проведённое ERA, было завершено и представлено ВМС 19 июня 1947 года. В нём участвовали Гарвардский университет, IBM и Манчестерский университет. Барабан ERA служил внутренней памятью для компьютера ATLAS I, поставленного ВМС США в октябре 1950 года, а затем продавался как ERA 1101 и UNIVAC 1101. В результате слияний ERA стала подразделением UNIVAC и поставляла барабан серии 1100 в составе файлового компьютера UNIVAC в 1956 году; каждый барабан хранил 180 000 6-битных символов (135 килобайт). Первый серийно выпускаемый компьютер IBM 650 (1954) изначально имел до 2000 10-значных слов, что составляло около 17,5 килобайт барабанной памяти (позже увеличено до 4000 слов, около 35 килобайт, в модели 4). В BSD Unix и его производных, было названием устройства виртуальной памяти (своп) по умолчанию, что связано с использованием барабанных устройств вторичной памяти в качестве резервного хранилища для страниц виртуальной памяти. Магнитные барабанные устройства памяти использовались в центрах управления пуском межконтинентальных баллистических ракет Minuteman с начала 1960-х годов до модернизации REACT в середине 1990-х годов.