Введение

Ранний тип компьютерной памяти

Твисторная память – это вид компьютерной памяти, созданный путем наматывания магнитной ленты на проводник тока. По принципу работы твистор был очень похож на память на ферритах. Твистор также можно было использовать для создания постоянной памяти (ROM), включая перепрограммируемый вариант, известный как piggyback-твистор. Оба варианта можно было производить автоматизированными процессами, что, как ожидалось, позволило бы значительно снизить производственные затраты по сравнению с системами на основе ферритовых сердечников. Впервые коммерчески твистор был использован в коммутаторе 1ESS, введенном в эксплуатацию в 1965 году компанией Bell Labs. Твистор применялся недолго, в конце 1960-х и начале 1970-х годов, пока полупроводниковые устройства памяти не заменили практически все предыдущие типы памяти. Базовые принципы, лежащие в основе твистора, также привели к разработке пузырьковой памяти, однако и она имела короткий срок коммерческого использования.

Строительство

В памяти на магнитных сердечниках небольшие кольцевые магниты – сами сердечники – пронизаны двумя пересекающимися проводами, X и Y, образующими матрицу, известную как плоскость. Когда по одному проводу X и одному проводу Y подается питание, генерируется магнитное поле под углом 45 градусов к проводам. Магнитные сердечники расположены на проводах под углом 45 градусов, поэтому единственный сердечник, охватывающий точку пересечения запитанных проводов X и Y, подвергается воздействию индуцированного поля. Материалы, используемые для сердечников, были специально подобраны для обеспечения очень "квадратной" характеристики магнитной гистерезиса. Это означало, что поля, немного ниже определенного порога, не оказывают влияния, но поля, лишь немного превышающие этот порог, приводят к воздействию магнитного поля на сердечник, вызывая резкое изменение его состояния намагниченности. Такая квадратная характеристика и четкое переключение состояний обеспечивают возможность адресации отдельного сердечника в сетке; соседние сердечники будут воспринимать немного отличающееся поле и останутся не затронутыми.

Получение данных

Основная операция в магнитной ячейке памяти – это запись. Она осуществляется путем подачи питания на выбранные провода X и Y до уровня тока, который сам по себе создаст ½ критического магнитного поля. Это приведет к тому, что поле в точке пересечения превысит точку насыщения магнитной ячейки, и ячейка воспримет внешнее поле. Единицы и нули представляются направлением поля, которое можно установить, просто изменив направление тока в одном из двух проводов. В магнитной ячейке памяти для записи или чтения бита необходим третий провод – линия согласования/подавления. Чтение использует процесс записи: на линии X и Y подается питание так же, как при записи "0" в выбранную ячейку. Если в этот момент ячейка содержала "1", то магнитное состояние переключится на "0", и этот переход вызовет короткий импульс тока в линии согласования/подавления. Если импульс не обнаружен, значит, переключения не произошло, и ячейка уже содержала "0". Этот процесс является разрушающим: если ячейка действительно содержала "1", этот шаблон уничтожается при чтении и должен быть восстановлен в последующей операции. Линия согласования/подавления используется всеми ячейками в определенной плоскости, что означает, что одновременно можно прочитать (или записать) только один бит. Плоскости магнитных ячеек обычно складывались для хранения одного бита слова на плоскости, и слово можно было прочитать или записать за одну операцию, одновременно работая со всеми плоскостями. Между операциями чтения и записи данные хранились в магнитном виде. Это означает, что магнитная ячейка – энергонезависимая память.

Производство

Основной проблемой было изготовление сердечников. Провода X и Y необходимо было продевать через сердечники в переплетенном порядке, а линия "чувствование/подавление" проходила через каждый сердечник в одной плоскости. Несмотря на значительные усилия, автоматизировать производство сердечников никому не удалось, и эта задача оставалась ручной до 1970-х годов. Чтобы увеличить плотность памяти, приходилось использовать сердечники меньшего размера, что существенно усложняло их подключение к линиям.

Твистор

Ранняя итерация Twistor состояла из скрученного ферромагнитного провода, пропущенного через серию концентрических соленоидов. Более длинный соленоид – это катушка СЕНСОР (SENSE), более короткий – катушка ЗАПИСИ (WRITE). Один бит записывался путем подачи импульса на катушку ЗАПИСИ током + (1) или – (0), достаточным для намагничивания спиральной области под катушкой в одном из двух направлений. На одном конце растянутого провода располагался соленоид ЧТЕНИЯ (READ), который при подаче импульса посылал акустическую волну по проводу. Когда акустический импульс проходил под каждой катушкой СЕНСОР, он индуцировал небольшой электрический импульс, либо +, либо –, в зависимости от направления намагничивания участка провода. Таким образом, с каждым импульсом "байт" мог быть последовательно считан. Twistor был концептуально схож с магнитной памятью на сердечниках, но заменил круглые магниты магнитной лентой для хранения шаблонов. Лента была обернута вокруг одного набора проводов, эквивалента линии X, таким образом, чтобы образовывать спираль под углом 45 градусов. Провода Y были заменены соленоидами, обернутыми вокруг нескольких проводов-Twistor. Выбор конкретного бита был таким же, как и в памяти на сердечниках: одна линия X и одна линия Y подавали питание, создавая поле под углом 45 градусов. Магнитная лента была специально выбрана для обеспечения намагничивания только вдоль длины ленты, поэтому только одна точка Twistor имела бы правильное направление поля для намагничивания. В оригинальной системе Twistor использовалась лента из пермаллоя, обернутая вокруг медного провода диаметром 3 мила. Для любой заданной длины провода лента наматывалась только на первой половине. Затем медный провод изгибался в точке, где лента заканчивалась, и проходил обратно вдоль участка с лентой, образуя возвратный проводник. Это означало, что все соединения находились на одном конце. Несколько таких витых линий располагались бок о бок и затем ламинировались в пластиковый лист из полиэтилентерефталата (ПЭТ), при этом Twistor и их возвратные провода располагались на расстоянии примерно 1/10 дюйма друг от друга. Типичная лента могла содержать пять проводов Twistor и их возвратные линии, поэтому ширина листа составляла чуть более дюйма. Соленоид был построен аналогичным образом, состоя из ряда медных лент шириной 0,15 дюйма, ламинированных в пластиковую ленту тех же основных размеров, что и Twistor. В отличие от традиционного соленоида с множеством витков провода вокруг открытого сердечника, эта система по сути представляла собой просто отдельные провода в пластиковом листе. Для создания полной системы памяти лист соленоида раскладывался плоско, например, вдоль направления X, а затем на него сверху укладывался лист Twistor под прямым углом к нему вдоль оси Y. Затем ленту соленоида складывали, чтобы она обернула лист Twistor, образуя серию U-образных соленоидов. Затем поверх первого слоя укладывался еще один слой ленты соленоида, лента Twistor складывалась так, чтобы теперь она проходила вдоль отрицательной оси Y по верхней части новой ленты соленоида, а затем лента соленоида складывалась, чтобы сформировать второй набор петель. Этот процесс продолжался до тех пор, пока полоса Twistor не "использовалась", образуя компактный куб памяти. Вдоль одной стороны памяти, подключенной к каждой петле соленоида, располагалась серия небольших сердечников, используемых исключительно для переключения (их первоначальное назначение, разработка в качестве памяти произошла позже). Основная причина разработки Twistor компанией Bell заключалась в том, что процесс мог быть высоко автоматизирован. Хотя процесс складывания, завершающий Twistor, мог выполняться вручную, укладка и ламинирование листов легко выполнялись машиной. Усовершенствованные версии Twistor также обернули участок голой меди, первоначально использовавшийся исключительно для возвратного пути, тем самым удваивая плотность без каких-либо изменений в производственных технологиях.

Операция

Запись в память на основе твисторов была фактически идентична записи в ферритовую память; конкретный бит выбирался путем подачи тока на один из проводов твистора и одну из соленоидных петель, равного половине требуемой мощности, так что необходимая напряженность поля создавалась только в точке их пересечения. Чтение осуществлялось другим способом. В отличие от ферритовой памяти, в твисторе не было линии "чувствование/подавление". Вместо этого использовался больший ток в соленоиде, достаточный для переключения всех битов в данной петле, а затем провода твистора использовались в качестве линии считывания. Таким образом, твистор считывался и записывался по одной плоскости за раз, в то время как в ферритовой памяти одновременно можно было использовать только один бит на плоскость.

Твистор с постоянным магнитом

Твистор можно было модифицировать для создания ПЗУ, которое можно было бы легко перепрограммировать. Для этого одна половина каждой катушки-соленоида заменялась алюминиевой пластиной, в которую были встроены крошечные стержневые магниты из викалоя. Поскольку катушки-соленоиды должны были представлять собой замкнутые цепи для прохождения тока, они по-прежнему вставлялись в виде сложенных листов, но в этом случае петля вставлялась между складками твистора, а не вокруг них. Это позволяло одному листу служить одной половиной катушки-соленоида для двух складок твистора – сверху и снизу. Для замыкания контура пластина с магнитами размещалась на другой стороне твисторной ленты. Чтение осуществлялось путем подачи питания на катушку-соленоид до уровня, примерно вдвое меньшего, чем необходимо для записи. Это поле "отражалось" алюминиевой пластиной, замыкая контур магнитным путем. Полученное поле превышало силу записи, вызывая изменение состояния пермаллоя. Если бит находился рядом с не намагниченным стержневым магнитом на пластине, поле не встречало сопротивления, и изменение состояния вызывало импульс тока в проводе твистора, считывая "1". Однако, намагничивая стержень в этом бите, стержневой магнит создавал встречное поле, генерируемое током катушки-соленоида, снижая его ниже силы записи и предотвращая изменение состояния. Это считывалось как "0". Постоянный магнито-твистор (PMT) перепрограммировался путем извлечения пластин и размещения их над специализированным записывающим устройством. Викалой использовался, поскольку для его перемагничивания требовалось значительно больше энергии, чем для пермаллоевой ленты, чтобы система никогда не приближалась к перемагничиванию постоянных магнитов во время работы в системе памяти. Записывающее устройство использовало гораздо более сильные токи, преодолевающие это сопротивление. PMT, использовавшийся в системе 1ESS, состоял из модулей с 128 пластинами, на каждой из которых было 2818 магнитов (для 64 44-битных слов). Это давало модуль емкостью 8192 слова (8 кибислов). Полное хранилище использовало 16 модулей, что составляло в общей сложности 131 072 слова (128 кибислов), эквивалентно 720 896 8-битным байтам (704 КиБ).

Сверточный вистор

Другая форма ТВИСТОР-памяти заменила карты с постоянными магнитами второй магнитной лентой, намотанной поверх первой на линиях винта в конфигурации "piggyback" (внахлест). Эта лента была покрыта кобальтовым сплавом вместо пермаллоя, который обладает значительно большей магнитной устойчивостью, требуя примерно вдвое большее поле для перемагничивания. Чтобы повысить устойчивость системы, лента из кобальтового сплава была примерно в два с половиной раза толще пермаллоевой, что привело к увеличению силы поля в пять раз. Внешний ток, необходимый для перемагничивания кобальтосплавной ленты, был примерно в 15 раз больше обычного рабочего тока. Операции чтения в конфигурации "piggyback" идентичны версии с постоянными магнитами. Запись была немного сложнее, поскольку во всех ТВИСТОР-памятях с конфигурацией "piggyback" магнитная лента проходила по всей длине провода X. Это означало, что любой соленоид охватывал как бит, в который производилась запись, так и бит на участке возвратного провода. Для установки одного бита, не затрагивая другой, соленоид сначала включался в одном направлении, а затем в противоположном, при этом ток в линии твистора оставался постоянным. Это создавало два последовательных магнитных поля, выровненных сначала с первым участком провода, а затем со вторым. Все операции чтения и записи выполнялись таким образом для пар битов.

Приложения

Твистор использовался в ряде приложений. Большая часть финансирования разработки была предоставлена ВВС США, поскольку твистор должен был использоваться в качестве основной памяти в проекте LIM 49 Nike Zeus. В Соединенных Штатах Bell System (American Telephone & Telegraph) также использовала твисторы с постоянными магнитами в качестве "программного хранилища" или основной памяти в своей первой электронной телефонной коммутационной системе 1ESS, а также в других системах серии ESS, и продолжала использовать их до коммутатора 4ESS, представленного в 1976 году и продававшегося в 1980-х годах. Кроме того, твистор использовался в системе позиционирования трафика (TSPS) – преемнице телефонных коммутаторов с ручным соединением, разработанной Bell, которая управляла обработкой вызовов и сбором монет для местных и международных звонков. К 2017 году все оставшиеся установки TSPS и ESS, использовавшиеся для предоставления телефонных услуг в сельских районах Соединенных Штатов, были демонтированы. Некоторые системы могут все еще использоваться в Мексике и Колумбии, куда было продано и переустановлено множество американских систем после их вывода из эксплуатации в Соединенных Штатах.