出典(authority):フリー百科事典『ウィキペディア(Wikipedia)』「2014/01/31 10:32:43」(JST)
「メモリ」は、この項目へ転送されています。この項目ではメモリと呼ばれるもの全般について記述しています。メインメモリについては「主記憶装置」をご覧ください。 |
記憶装置(きおくそうち)とは、コンピュータが処理すべきデジタルデータをある期間だけ保持するのに使う、部品、装置、電子媒体の総称。メモリ(英: memory)またはストレージ(英: storage)とも。記憶装置はコンピュータの中核機能の1つである「情報の記憶」を行う。現代のコンピュータには必ず何らかの記憶装置があり、CPUと共に1940年代から使われ続けている基本的コンピュータモデルを実装している。
「メモリー」も「ストレージ」も本来はほぼ同じ意味で、いずれも「記憶装置」と訳される場合が多い。また「メモリー」は主にキャッシュメモリや主記憶装置などに、「ストレージ」は主に補助記憶装置に使い分けられる事も多い。
様々な自然現象を利用した記憶装置が発明されてきた。しかし、実用的な万能記憶装置(媒体)は今のところ存在せず、それぞれに何らかの欠点がある。そのため、コンピュータシステムにはいくつかの種類の記憶装置が含まれ、それぞれに用途が限定されている。
デジタルコンピュータは、データを二進法で表す。テキストも数値も画像もビットの並びまたは2進数の数値に変換でき、各ビットは1か0の値をとる。最も一般的な記憶単位はバイトで、通常8ビットで構成される。コンピュータが情報処理するには、その情報を二進法で表現したもの、すなわちデータを格納できるだけの記憶装置の容量を必要とする。例えば800万ビット、すなわち約1メガバイトあれば、一般的コンピュータでは短い小説を格納できる。
コンピュータの最重要部品はCPU(プロセッサ)であり、データを操作し、計算を行い、他の部品を制御する。
メモリがないと、コンピュータは決められた処理を行って結果を即座に出力することしかできない。これは、電卓やデジタルシグナルプロセッサでは問題ない。それとは異なり、ノイマン型システムでは、命令とデータは共にメモリに格納される。そうすることで、新たな処理をするのにハードウェアの再構成をしなくて済み、単にメモリ上の命令列を書き換えればよいため、より汎用的になる。また、プロセッサには細かい処理を行う命令を実装するだけで済み、複雑な処理手続きを通しての状態を保持する必要がないため、設計が単純になる。今日、コンピュータのほとんどはノイマン型である。
実際、ほとんどのコンピュータは様々な種類のメモリを使っており、CPUを頂点として性能とコストのトレードオフを考慮した階層を形成している。一般に、階層上で高い位置にあるストレージほど帯域幅が大きく、CPUからのアクセスレイテンシが小さい。逆に、ビット当たりのコストは階層上で下の方ほど安価になるのが一般的である。
詳細は「主記憶装置」を参照
一次記憶装置または主記憶装置は、CPUが直接アクセスできる唯一の記憶装置である。CPUはそこに格納されている命令を常に読み取り、実行している。頻繁に操作しているデータも同様の方法でそこに格納されている。
初期のコンピュータでは、水銀遅延線、ウィリアムス管、磁気ドラムメモリが一次記憶装置として使用された。1954年ごろ、磁気コアメモリがそれら信頼性の低い手法に取って代わった。トランジスタの発明によって全く新しい半導体メモリが生まれ、集積回路技術によるメモリに進化した。
これが現在の Random Access Memory (RAM) へと繋がっている。RAMは小さく軽いが、当初は非常に高価だった。一次記憶装置に使うRAMは揮発性のものが多く、電力が供給されないと情報が失われてしまう。
一次記憶装置は、さらにいくつかの階層に分かれており、それぞれ記憶容量と性能が異なる。
メインメモリは、メモリバス(フロントサイドバスとも呼ぶ)経由でCPUと直接または間接に接続される。メモリバスは実際にはアドレスバスとデータバスで構成される。CPUはまず、アドレスバスにメモリアドレスと呼ばれる数値を送り、アクセスしたいデータの位置を指定する。次にデータ本体の読み書きをデータバスで行う。場合によってはCPUと一次記憶装置の間にメモリ管理ユニット (MMU) があり、仮想記憶という抽象化などのタスクを実施する。
一次記憶装置で使うRAMは揮発性であるため、それだけでは電源を入れたときにCPUが実行する命令を読み出すことができない。そこで、小さな立ち上げプログラム(BIOS)の格納された不揮発性メモリを使ってブート処理を行う。ブート処理では、不揮発性の二次記憶装置からより大きなプログラムをメインメモリに持ってきて、それを実行する。ここで使われる不揮発性メモリを Read Only Memory (ROM) と呼ぶ。
"ROM" と呼ばれるメモリは実際には「リードオンリー」ではないことが多く、更新が可能である。しかし、書き込みは遅く、再書き込みの前に消去する必要がある。組み込みシステムではプログラムを書き換えることが少ないため、ROM上のプログラムを直接実行することがある。普通のコンピュータではROMにBIOSなどの単純なプログラム以外を置くことはなく、プログラムは不揮発性の二次記憶装置に記憶しておくのが一般的である。
前述したとおり、英語では「一次記憶装置」は primary storage だが、最近では storage の意味が日本語での用法に近い場合があるため、primary storage が本項目で言うところの「二次記憶装置」を意味する場合も出てきている[1]。
詳細は「補助記憶装置」を参照
二次記憶装置または補助記憶装置は、CPUから直接アクセスできない点が一次記憶装置と異なる。コンピュータは通常、入出力チャネルを使って二次記憶装置にアクセスし、必要なデータを一次記憶装置上のバッファに転送する。二次記憶装置は電源が切れてもデータが失われない、不揮発性である。また、価格も一次記憶装置に比べると桁違いに安価である。結果として、現在のコンピュータは一次記憶装置よりも大容量の二次記憶装置を備え、そこにデータを長期間記憶しておくことが多い。
現在のコンピュータは、二次記憶装置としてハードディスクドライブを使うのが一般的である。ハードディスク上のデータアクセスにかかる時間はミリ秒単位である。一方、RAM上のデータアクセスにかかる時間はナノ秒単位である。これはハードディスクが機械的に可動(回転)する装置であるためで、メインメモリと比較すると約100万倍遅い。CDやDVDなどの光学ドライブはさらにアクセス時間が長い。
二次記憶装置に使われる他の技術としては、フラッシュメモリ(USBメモリなど)、フロッピーディスク、磁気テープ、紙テープ、パンチカード、メインメモリとは異なるRAMディスク、ZIPドライブなどがある。
二次記憶装置はファイルシステムとしてフォーマットされることが多く、それによってデータをファイルやディレクトリに抽象化し、ファイルの所有者、アクセス時間、アクセスパーミッションなどの付加的情報(メタデータ)も提供する。
多くのオペレーティングシステムは仮想記憶の概念を使い、システムが物理的に利用可能な容量以上の一次記憶装置(メインメモリ)を使えるようにする。一次記憶装置が一杯になると、システムは最も使われていない部分(ページ)を二次記憶装置(スワップファイル)に移し、後で必要になったときに一次記憶装置に戻す。このやり取りが多くなると、システム全体の性能は低下する。
三次記憶装置[2]は、記憶装置の第三の階層である。典型的な例として、ロボット機構を使って必要に応じて記憶媒体をドライブに挿入したり除去したりする装置がある。データは使用する前に二次記憶装置にコピーすることが多い。これは主に滅多に使わないデータの保管に使う(三次記憶装置は二次記憶装置よりもさらに遅く、アクセス時間は数十秒レベルである)。
コンピュータが三次記憶装置から情報を読み取る必要が生じると、まずカタログデータベースを参照して、必要な情報を格納しているテープやディスクを特定する。次に、ロボットアームにコンピュータが指示して、その媒体をドライブに挿入させる。コンピュータが情報の読み取りを終えると、ロボットアームが媒体を元の場所に戻す。
オフラインストレージとは、CPUの制御下にないストレージである[3]。その記憶媒体は二次記憶装置か三次記憶装置として書き込まれ、物理的に外されたり、除去されたものである。つまり、再びアクセスするには、人間が媒体をドライブに挿入したり、装置を接続したりする必要がある。三次記憶装置とは異なり、人間が介在しないとアクセスできない。
オフラインストレージは、物理的なデータ転送手段としてよく利用される。また、ディザスタリカバリのためにバックアップを遠隔地に保管する手段としても有効である。オフラインストレージは情報セキュリティの観点からも重要であり、物理的に即座に内容にアクセスできず、コンピュータを使った悪意ある攻撃からも安全である。また、保管目的で情報を記憶させる場合、ほとんど滅多にアクセスすることがないなら、三次記憶装置よりもずっと安価に保管できる。
最近のパーソナルコンピュータでは、二次記憶装置や三次記憶装置として利用される記憶媒体は、オフラインストレージとしても利用できるものが多い。光ディスクやフラッシュメモリが代表的だが、リムーバブルのハードディスクドライブもある。企業においては磁気テープが比較的多く利用されている。古くは、フロッピーディスク、ZIP、パンチカードなどがあった。
記憶装置を分類するいくつかの特性がある。特性には、揮発性/不揮発性、ダイナミック/スタティック、書き換え可能/不可能、破壊読み出し/非破壊読み出し、アクセス方式、アドレス指定方式、などがある。また、容量と性能は重要なスペックである。
ROM(ロム、Read Only Memory)の対義語として表れることがあるが、本来の意味からは下記のSAMであり、ROMに対してはRWM(Read Write Memory)となるが、現在ではこの語はほとんど使われない。
容量単位は一般的な距離や速度を表すものと異なる特殊な単位と使われ方をする
2008年現在、よく使われている記憶装置技術としては、半導体、磁気、光学があり、紙も限定的に使われ続けている。他にも、かつて使われていた記憶装置技術や、開発が進んでいる新技術もある。
|
半導体メモリは、半導体による集積回路に情報を格納する。半導体メモリには数百万個の微細なトランジスタやコンデンサが集積されている。揮発性と不揮発性の半導体メモリがある。現代のコンピュータでは、一次記憶装置にはほぼ必ずダイナミックな揮発性半導体メモリ(DRAM)を使っている。21世紀に入ったころから、フラッシュメモリと呼ばれる不揮発性半導体メモリがオフラインストレージとしてシェアを伸ばし続けている。不揮発性半導体メモリは、各種電子機器や特殊なコンピュータの二次記憶装置としても使われている。
磁気記憶装置は、ディスクやテープの表面に塗布された磁性体の磁化パターンを変化させることで情報を記憶する。磁気記憶装置は不揮発性である。情報へのアクセスに1つまたは複数の読み書き用ヘッドを使う。ヘッドには電気信号と磁気信号を相互に変換する変換器がある。ヘッドは媒体表面のごく一部にしかアクセスできないので、ヘッドや媒体を移動させることでデータへアクセスする。現在のコンピュータでは、以下のような磁気記憶装置がある。
初期のコンピュータでは、磁気ドラムメモリ、磁気コアメモリ、コアロープメモリ、薄膜メモリ、磁気バブルメモリなどが一次記憶装置としても使われていた。また、磁気テープは二次記憶装置として使われることが多かった。
|
光ディスクなどの光学記憶装置は、円板表面の性質を変化させることで情報を格納し、半導体レーザーを表面に当てて反射光を測定することで情報を読み取る。光ディスクは不揮発性である。表面の変化が永久的なもの(読み取り専用媒体)、一度だけ変化させられるもの(ライトワンス媒体)、何度も書き換え可能なもの(リライタブル媒体)がある。次のような形式がよく使われている[4]。
3次元光ディスクも提案されている。蛍光多層ディスクは、C3D が開発した新技術。3次元光ディスクの一種だが、反射光ではなく蛍光を使用するため、従来はせいぜい2層だった記録層を100層にできる。
は、強磁性の表面の磁場の形で情報を記憶するストレージである。読み取りは光学的に行い、書き込みは磁気と光学を組み合わせて行う。光磁気ディスクは不揮発性で、シーケンシャルアクセス式で、書き込みは低速だが、読み取りは比較的高速である。三次記憶装置またはオフラインストレージとして使用する。
紙による記憶媒体としては、紙テープやパンチカードがあり、コンピュータ黎明期から広く使われてきた。情報は紙に穴を開けることで記録され、機械的または光学的に穴の位置を知ることで情報を読み取る。
二次または三次記憶装置は、コンピュータネットワークを使ってコンピュータと接続することもある。一次記憶装置ではそのような概念はふさわしくないが、マルチプロセッサでメモリを共有するのも多少それに似ている。
大量の磁気テープ(または光ディスクや光磁気ディスク)を自動化された三次記憶装置に格納したものである。磁気テープの場合はテープライブラリ、光ディスクの場合は光ジュークボックスあるいは光ディスクライブラリ装置などと呼ぶ。最小構成の装置では、装置内にドライブは1つだけで、オートローダまたはオートチェンジャなどと呼ばれる。
ロボット型ストレージの場合、多数のスロットがあってそこに媒体が格納されており、ロボットアームがそれをピックアップして組み込みのドライブに挿入する。スロットの配置とピックアップ機構が性能に影響を与える。重要な特性として拡張性があり、スロットやドライブやロボット機構を追加できるようになっている。テープライブラリの場合、10から10万スロットを有し、テラバイトからペタバイト級の情報を格納できる。光ジュークボックスはそれより若干小規模で、せいぜい1000スロットである。
ロボット型ストレージはバックアップ、画像やビデオなどを大量に保管する必要のある業界(医療、映像産業など)で使われる。階層的ストレージ管理は、このようなストレージ装置も含め、自動的にデータを適切なストレージ階層に移動させる手法である。低い階層に格納してあるファイルが必要になると、自動的にそれを上位のハードディスクなどに取り出すことができる。
全文を閲覧するには購読必要です。 To read the full text you will need to subscribe.
拡張検索 | 「メモリー細胞」「ワーキングメモリー」「ワーキング・メモリー」 |
関連記事 | 「メモ」 |
第1頚椎 → C1椎体 第10胸椎 → T10椎体 第3腰椎 → L3椎体
第8頚髄 → C8脊髄
第4腰神経 → L4神経
.