記憶装置

概要

ディジタルコンピュータは、二進法（バイナリ）のデータ、すなわちビットを扱う。テキストも数値も画像もコンピュータの内部ではビットである。ビットは、それがいくつか集まった単位でまとまって扱われることも多い。よく使われる単位にバイトがある。バイトはほとんどの場合、8ビットである。
コンピュータが情報処理するには、一般にデータを一時的に保持する必要があり、そのための機構がメモリである。メモリがないと、コンピュータは決められた処理を行って結果を即座に出力することしかできない。
たとえば電卓は、ごくわずかなメモリしか持っていない（ディスプレイに表示される桁数の数値の2個ぶん、あるいは3個ぶん程度）。DSPでは、プログラムと、相関を取るなどの期間の情報さえ保持できれば良い。それに対して汎用のコンピュータは、いわゆるプログラム内蔵方式であり、理論でいう「計算可能」なあらゆる「計算」を処理できるが、それに対応するプログラムを保持するだけのメモリが必要であり、計算の途中経過を保持するためのメモリも必要である。

階層構造

理想を言えば、最高速のメモリがたっぷりあることが好ましいわけであるが、コスト上の理由や物理的な実装の制約、インタフェースの限界などにより、小容量で高速のメモリと、大容量で低速のメモリを組み合わせ、それらを適宜やりくりしなくてはならない。またインタフェースについても、レイテンシ（遅延）およびスループット（帯域）の両者の点で、高性能な接続と低性能な接続がある。結果として、一般的に、CPUを頂点としたピラミッド状のモデルとなる。

レジスタ

レジスタはプロセッサ内部にある、最高速だが数がごく限られた記憶装置である。

二次記憶装置

二次記憶装置または補助記憶装置は、入出力チャネル等を使ってアクセスされる記憶装置を指す、大雑把な分類である。データは一次記憶のバッファとの間で転送され、利用される。二次記憶装置は電源が切れてもデータが失われない、不揮発性である。また、価格も一次記憶装置に比べると桁違いに安価である。結果として、現在のコンピュータは一次記憶装置よりも大容量の二次記憶装置を備え、そこにデータを長期間記憶しておくことが多い。
現在のコンピュータは、二次記憶装置としてハードディスクドライブを使うのが一般的である。ハードディスク上のデータアクセスにかかる時間はミリ秒単位である。一方、RAM上のデータアクセスにかかる時間はナノ秒単位である。これはハードディスクが機械的に可動（回転）する装置であるためで、メインメモリと比較すると約100万倍遅い。CDやDVDなどの光学ドライブはさらにアクセス時間が長い。
二次記憶装置に使われる他の技術としては、フラッシュメモリ（USBメモリなど）、フロッピーディスク、磁気テープ、紙テープ、パンチカード、メインメモリとは異なるRAMディスク、ZIPドライブなどがある。

三次記憶装置

三次記憶装置は、記憶装置の第三の階層である。典型的な例として、ロボット機構を使って必要に応じて記憶媒体をドライブに挿入したり除去したりする装置がある。データは使用する前に二次記憶装置にコピーすることが多い。これは主に滅多に使わないデータの保管に使う（三次記憶装置は二次記憶装置よりもさらに遅く、アクセス時間は数十秒レベルである）。
コンピュータが三次記憶装置から情報を読み取る必要が生じると、まずカタログデータベースを参照して、必要な情報を格納しているテープやディスクを特定する。次に、ロボットアームにコンピュータが指示して、その媒体をドライブに挿入させる。コンピュータが情報の読み取りを終えると、ロボットアームが媒体を元の場所に戻す。

オフラインストレージ

オフラインストレージとは、CPUの制御下にないストレージである。その記憶媒体は二次記憶装置か三次記憶装置として書き込まれ、物理的に外されたり、除去されたものである。つまり、再びアクセスするには、人間が媒体をドライブに挿入したり、装置を接続したりする必要がある。三次記憶装置とは異なり、人間が介在しないとアクセスできない。
オフラインストレージは、物理的なデータ転送手段としてよく利用される。また、ディザスタリカバリのためにバックアップを遠隔地に保管する手段としても有効である。オフラインストレージは情報セキュリティの観点からも重要であり、物理的に即座に内容にアクセスできず、コンピュータを使った悪意ある攻撃からも安全である。また、保管目的で情報を記憶させる場合、ほとんど滅多にアクセスすることがないなら、三次記憶装置よりもずっと安価に保管できる。
最近のパーソナルコンピュータでは、二次記憶装置や三次記憶装置として利用される記憶媒体は、オフラインストレージとしても利用できるものが多い。光ディスクやフラッシュメモリが代表的だが、リムーバブルのハードディスクドライブもある。企業においては磁気テープが比較的多く利用されている。古くは、フロッピーディスク、ZIP、光磁気ディスク、紙テープ、パンチカードなどがあった。

特性とスペック

記憶装置を分類するいくつかの特性がある。特性には、揮発性/不揮発性、ダイナミック/スタティック、書き換え可能/不可能、破壊読み出し/非破壊読み出し、アクセス方式、アドレス指定方式、などがある。また、容量と性能は重要なスペックである。

アクセス単位

SRAMチップでは、8ビットや16ビット単位のチップが多い。それに対し、古くはDRAMチップは1ビット単位であり、8個や16個並べて実際のメモリを構成していた（そのため、コンピュータ業界ではバイト単位がもっぱらであるのに対し、メモリ業界ではビット単位が使われることも多い）。現在でもDRAMチップは4ビットか8ビット程度と、比較的少ないビット数のものを並べて利用している。
また、データの転送方法についてもバリエーションがある所で、非同期SRAMのように単純にアドレスを印加すればデータが出てくるといったものから、DDR SDRAMのように複雑なプロトコルを持つものまで、色々のものがある。

基本的な記憶装置技術

2018年現在、よく使われている記憶装置技術としては、半導体、磁気、光学があり、紙も限定的に使われ続けている。他にも、かつて使われていた記憶装置技術や、開発が進んでいる新技術もある。

光磁気ディスク

は、強磁性の表面の磁場の形で情報を記憶するストレージである。読み取りは光学的に行い、書き込みは磁気と光学を組み合わせて行う。光磁気ディスクは不揮発性で、シーケンシャルアクセス式で、書き込みは低速だが、読み取りは比較的高速である。三次記憶装置またはオフラインストレージとして使用する。

紙

紙による記憶媒体としては、紙テープやパンチカードがあり、コンピュータ黎明期から広く使われてきた。情報は紙に穴を開けることで記録され、機械的または光学的に穴の位置を知ることで情報を読み取る。

ロボット型ストレージ

大量の磁気テープ（または光ディスクや光磁気ディスク）を自動化された三次記憶装置に格納したものである。磁気テープの場合はテープライブラリ、光ディスクの場合は光ジュークボックスあるいは光ディスクライブラリ装置などと呼ぶ。最小構成の装置では、装置内にドライブは1つだけで、オートローダまたはオートチェンジャなどと呼ばれる。
ロボット型ストレージの場合、多数のスロットがあってそこに媒体が格納されており、ロボットアームがそれをピックアップして組み込みのドライブに挿入する。スロットの配置とピックアップ機構が性能に影響を与える。重要な特性として拡張性があり、スロットやドライブやロボット機構を追加できるようになっている。テープライブラリの場合、10から10万スロットを有し、テラバイトからペタバイト級の情報を格納できる。光ジュークボックスはそれより若干小規模で、せいぜい1000スロットである。
ロボット型ストレージはバックアップ、画像やビデオなどを大量に保管する必要のある業界（医療、映像産業など）で使われる。階層型ストレージ管理は、このようなストレージ装置も含め、自動的にデータを適切なストレージ階層に移動させる手法である。低い階層に格納してあるファイルが必要になると、自動的にそれを上位のハードディスクなどに取り出すことができる。