半導体メモリの価格が上がっている。それならいっそ、半導体を使わずにメモリを作ってしまおう。そう考えたエンジニアのpolymatt氏が、1950年代から70年代のコンピューターで使われていた磁気コアメモリを自作し、容量8バイトのUSBメモリに仕立てた。
磁気コアメモリは、小さなフェライト(磁石になる素材)の輪を1ビットとして使う記憶方式だ。輪に電流を流して磁場の向きを変え、その向きで1と0を表す。電気の有無ではなく磁場で覚えるため、電源を切っても中身が消えない。放射線を浴びても壊れにくく、かつてApollo誘導コンピューターにも同じ基礎技術が使われた。polymatt氏は、旧ソ連のコンピューターから取り出したフェライトの輪を使った。コアメモリに向く特性を持つためだ。
まず、1個の輪だけを載せたテスト基板を、CNC工作機で銅張板を削って自作した。マイコンのESP32とモーター制御回路で電流を流し、オシロスコープで様子を見ながら、輪の向きが反転する電圧を探る。6Vから始め、約30分かけて12Vまで上げたところで、狙いどおりの反応が現れた。
次に本番の配列に移る。当初は16×16の256ビットを狙ったが、基板に収まらず8×8の64ビットへ縮めた。縦8本と横8本の線に電流を分けて流すと、交点にある1個の輪だけが反転する。そこに、全体を貫く「センス線」を1本通す。輪の向きが変わった瞬間に、この線へ小さな電流が生じ、それを読み取って記憶を確かめる仕組みだ。針で1個ずつ手作業で織り込んでいく。
基板は、コアメモリ側と、電源やロジック側の2枚を自作してつないだ。筐体は3Dプリンターと切削で作り、透明なアクリルの窓を付けた。中身は、絶縁性のシリコーンオイルに丸ごと浸してある。輪の反転しきい値は温度で変わるため、油で全体の温度を一定に保ち、動作を安定させる狙いだ。
完成品は、パソコンにつなぐとUSBメモリとして見え、「core.txt」という1つのファイルが入っている。ここに文字を書き込むと、その内容が磁気コアに記録される。電源を抜いて挿し直しても、中身はそのまま残る。容量はASCII文字で8文字分。128GBのUSBメモリと比べれば、160億分の1の容量だ。コンピューターがかつて部屋いっぱいの大きさだった理由が、この手触りから見えてくる。