オルタナティブ・ブログ > Mostly Harmless >

IT技術についてのトレンドや、ベンダーの戦略についての考察などを書いていきます。

Intelの不揮発性「メイン」メモリがコンピュータを変える

»

昨年の話ですが、Intelが不揮発性の「メインメモリ」を開発し、発表しました。

A New Breakthrough in Persistent Memory Gets Its First Public Demo

恐らく多くの方にとっては「は?」という感じでしょうが、これはタイトルにあるとおり、画期的なことなのです。コンピュータ(というか、OSとかアプリの作り方)が根底から変わる可能性があります。

computer_motherboard.png

このニュースのキモは「不揮発性」と「メインメモリ」が一緒になったところにあります。こちらの記事に詳しいですが、不揮発性というのは電源を切っても内容が失われないことを意味します。

インテル、ついに不揮発性のメインメモリ「Intel persistent memory」発表、実稼働デモ公開。2018年に新型Xeon「Cascade Lake」とともに登場予定

新入社員研修などで「コンピュータの5大装置」をいうのを習った方もおられると思いますが、この中の「記憶装置」がメモリです。初期のコンピュータには、メモリと言えば1種類しか無く、電源を切ると内容が消えてしまう半導体メモリ(というか、その前はコアメモリか)でした。半導体メモリは「揮発性」であり、電源を切ると内容が消えてしまいますから、次にコンピュータを立ち上げた時には、毎回外部(当時は磁気テープ)からプログラムを読み込ませなければなりませんでした。ハードディスクの登場によってこの「記憶装置」が分化し、高速に動作するが電源を切ると内容が消えてしまう「メモリ(あるいはメインメモリ)」と、低速だが電源を切っても内容を保持する「ハードディスク」に分かれました。一次記憶と二次記憶(補助記憶)と呼ばれることもあります。(他にもキャッシュとかありますが今回は無視)

安価で低速なHDD/SSD vs 高価で高速なDRAM

その後、電源を切っても内容が消えない半導体メモリであるフラッシュメモリが発明されましたが、これはハードディスクの置き換えであり、メインメモリの代わりにはなりません。なぜなら、データの読み書きの速度が遅いからです。USBメモリやSSDなど、補助記憶として活用されています。SAPの資料によると、HDDへのアクセスには500万ナノ秒かかるのに対し、メモリへのアクセス速度は50ナノ秒と、10万倍の性能差があるそうです。SSDはHDDよりも数倍~数十倍高速ですが、それでも全然及びません。

しかし、メインメモリで問題になるのは容量とコスト、そして揮発性(電源を切ると内容が失われる)ということです。今のコンピュータのメインメモリは大きくてもせいぜい数百GB。TBが当たり前のHDD/SSDに比べて全然小さく、ビットあたりのコストもHDDよりもかなり高価になります。それが、このメモリ(3D XPoint)では、現在メインメモリの主流であるDRAMと遜色ない速度(1.5倍くらい遅いようですが)で、ビット単価はDRAMよりも安いと言うことです。

つまり、「安価で高速なメインメモリ、しかも電源を切っても消えない」といういいとこ取りなメインメモリなわけです。HDDやSSDが必要無くなり、大容量のメインメモリだけでコンピュータを作ることができます。

コンピュータを変える「不揮発性」の意味

これが何を意味するかというと、これまでのコンピュータ(というかオペレーティングシステム)の大前提が変わると言うことです。

WindowsやMacOS、Linuxなどは、ハードディスク(あるいはその後継としてのSSD)を管理する機能を有する「ディスク・オペレーティング・システム」です。これを縮めるとDOS、そう、Windowsの前身のMS-DOSのDOSは、ディスク・オペレーティング・システムの略なのです。ディスクが発明される前の基本ソフトがOSであり、それにディスク管理機能が付加されたものがDOSということです。MacOSは最初からDOSでしたが、Apple IIには基本のBASICとそれに付加するDOSが用意されていました。

DOSは、電源を切ると内容が消えてしまうメインメモリと、消えないディスクという2種類の記憶装置があることを大前提とし、失ってはいけないデータを適宜ディスクに書き込みながら処理を行うという操作を行ってきたわけですが、これが必要無くなるわけです。処理が高速になるのはもちろんですが、これまで考えたこともなかったような使い方ができるようになる可能性があります。OSからファイルという概念が無くなり、プログラミングにおいてデータをどこかに保存するという考え方をしなくても済む(プログラム内のどこかに置いておけば良い、というような)ようになるかも知れません。現在クラウドの世界で進行中のサーバーレスやマイクロサービスのような動きと組み合わさると、(具体的なイメージはまだありませんが)きっと面白いことになるのだろうと思います。

この記事が言いたいのも、そういうことだと思います。

不揮発メインメモリ登場で、5年後のプログラミングの教科書はすべて書き換わっている

コンピュータのOSがディスクを前提にしてから30年以上、ついにディスクを前提にしないOSが登場するのかもしれません。

と、ここまで書いて気がついたのですが、ディスクを前提としないOSって、DOSの前のOSですし、HDDが無くなるのは初期のコンピュータに戻るってことですよね。。これは進化なのか、先祖返りなのか? まあ、シンプルイズザベストということで、きっと良い方向なのでしょう。

Comment(1)