過去に、SSD の開発や HDD を使用した特定用途向け高速ストレージシステムの開発に携わったことがあります。どんな開発でも言えることですが、パフォーマンスの高いシステムを作るためには、その構造を正確に理解する必要があり、自然とストレージデバイスについて興味が向くようになりました。
コンピュータシステムの中でも、ストレージは非常に面白いデバイスのひとつです。例えば、昨今はフラッシュメモリの価格低下が著しく、SSD の攻勢に押されつつある HDD ですが、そのメカニズムは想像以上に複雑かつ厳密であり、その性質はコンピュータシステムの中でも非常に異質なものです。
過去を振り返ってみると、パンチカードや磁気ドラムなど、SSD や HDD の他にも面白いデバイスが沢山あります。当ブログでは、今回から様々なストレージデバイスについて、個人的な思い入れなどを踏まえながらご紹介していきたいと思います。
まずは、私がコンピュータを使い始めてから最初に使用したストレージデバイスである、カセットレコーダーです。カセットレコーダーは、今となっては懐かしい(?)、カセットテープを使用して音声を録音・再生する機器です。みなさんご存知のラジカセ(最近の若者にはあまり縁がないかも知れませんが…)も、カセットレコーダーですね。
ここで、「何でカセットレコーダーがストレージデバイスなの?」 と思われる方もいらっしゃると思います。私自身、カセットレコーダーを”ストレージデバイス”と言うには実はちょっと抵抗があるのですが、データを音声に変換するしくみを用いることで、カセットレコーダーは立派なストレージデバイスに変身します。このしくみについて非常に簡単に言うと、例えばデータが 0 のときは低い音(低周波音)、データが 1 のときは高い音(高周波音)というように、データをビット単位で音声に変換します。昔懐かしい音響カプラを使用して、普通の電話機の受話器をコンピュータと接続し、電話回線を通じてコンピュータ同士が通信する方法にも同じしくみが使われています。カセットレコーダーではデータから変換された音声をカセットテープに録音(記録)し、音響カプラではその音声を電話回線に伝送するわけですね。
このカセットレコーダーが活躍していた 1980 年代には、既にフロッピーディスクドライブ(FDD)や HDD も活躍していました。これらはカセットテープと比較すると高速かつ大容量でしたが、非常に高価であったため(HDD はパソコンより高価だったり、フロッピーディスクも 1 枚で数千円もしていました)、多くのパソコンはカセットレコーダーのインターフェースを備えていました。ちなみに、カセットテープを使用したストレージデバイスは、正式には(?)データレコーダーと言います。以下は、私が初めてプログラミングする機会を提供してくれたコンピュータ(?)である、ファミリーベーシックのデータレコーダーです。
データレコーダーは、コンピュータ向けというだけあって、コンピュータがカセットテープ上のデータを読み書きする際に、コンピュータと通信してカセットテープの記録・再生操作を自動的に行う機能などが付いていたりしました。しかし、基本的なしくみは上記の通りですので、普通のカセットレコーダーでも十分でした。当時小学生だった私は、データレコーダのためだけに 9,800 円もの大金を捻出できるはずもなく(苦笑)、家にあった普通のカセットレコーダーを使用していました。カセットテープ上のデータを読み書きする場合は、コンピュータ側をデータの読み書き状態にセットした後、手動でカセットレコーダーの録音ボタンや再生ボタンを”ガチャン”と押していました(笑)。
さて、実際のところ、カセットテープにはどのくらいのデータが記録できて(データ容量)、データを読み書きするにはどのくらいの時間がかかる(データ転送速度)のでしょうか? 例えば私が中学生の頃に使用していた MSX の場合は、高速モードのデータ転送速度は 2,400bps でした。つまり、1 秒間で 300 バイトのデータを読み書きすることができる計算になります。これをもとに、まずはカセットテープの収録時間とデータ容量の関係を見てみます。
カセットテープの収録時間 | データ容量 | データ量(参考) |
30分 | 約 527 KB | DVD の映像データ 約 0.5 秒分 (8Mbps の場合) |
60分 | 約 1 MB | 約 10 年前のデジカメの写真 1 枚 (SONY DSC-P5、標準画質) |
90分 | 約 1.5 MB | 2HD の FDD 1 枚分 (1.44 MB) |
120分 | 約 2 MB | 音楽データ 約 2 分 (MP3 形式/128Kbps の場合) |
当時のパソコン等のメモリ(RAM)容量は数 KB ~ 数百 KB でしたので、カセットテープのデータ容量でも十分でした。今となっては、120 分のカセットテープをもってしても、最近のデジカメの写真 1 枚すら保存できない計算になります…。
次に、データ容量とデータ転送速度について、現在のストレージデバイス等と比較してみます。
ストレージデバイス | データ容量 | カセットテープ(120分)比 |
USB メモリ | 8 GB | 約 2,000 倍 |
SD メモリカード | 16 GB | 約 4,000 倍 |
SSD | 64 GB | 約 32,000 倍 |
HDD | 2 TB | 約 1,000,000 倍 |
データ転送速度の比較
ストレージデバイス、他 | データ転送速度 | カセットレコーダー(MSX)比 |
WiMAX | 70 Mbps | 約 31,000 倍 |
光ファイバー | 100 Mbps | 約 44,000 倍 |
USB メモリ | 20 MB/s (読み込み) | 約 70,000 倍 |
HDD | 100 MB/s | 約 350,000 倍 |
SSD | 200 MB/s (読み込み) | 約 700,000 倍 |