

コンピュータデータストレージ、またはデジタルデータストレージとは、コンピュータコンポーネントと記録媒体からなる技術を用いてデジタルデータを保持することである。デジタルデータストレージは、コンピュータの中核機能であり、基本的な構成要素である。[ 1 ]: 15-16
一般的に、高速で揮発性のストレージコンポーネントは「メモリ」と呼ばれ、低速で永続的なコンポーネントは「ストレージ」と呼ばれます。この区別はフォン・ノイマン・アーキテクチャで拡張され、中央処理装置(CPU)は制御ユニットと算術論理演算ユニット(ALU)の2つの主要部分で構成されています。前者はCPUとメモリ間のデータの流れを制御し、後者はデータに対して算術演算と論理演算を実行します。実際には、ほとんどすべてのコンピュータはメモリ階層[ 1 ] : 468-473を使用しており、メモリはCPUの近くに、ストレージは遠くに配置されています。
現代のコンピュータでは、通常、ハードディスクドライブ(HDD)またはソリッドステートドライブ(SSD)がストレージとして使用されます。
現代のデジタルコンピュータは、データを二進数システムで表現します。メモリセルはコンピュータメモリの基本的な構成要素であり、1ビットの二進情報を格納します。1を格納するように設定したり、0を格納するようにリセットしたり、セルを読み出すことでアクセスできます。[ 2 ] [ 3 ]
テキスト、数字、画像、音声、その他ほぼあらゆる形式の情報は、ビット列、つまりバイナリ数字に変換できます。各ビットは0 または1の値を持ちます。 最も一般的な記憶単位はバイトで、8ビットに相当します。デジタルデータは、情報のバイナリ表現で構成され、多くの場合、各文字、数字、またはマルチメディアオブジェクトにビットパターンを割り当てることによってエンコードされます。エンコードには多くの標準規格が存在します(たとえば、 ASCIIのような文字エンコード、JPEGのような画像エンコード、MPEG-4のようなビデオエンコードなど)。
セキュリティ上の理由から、ストレージスナップショットの断片から不正に情報を復元される可能性を防ぐために、特定の種類のデータはストレージ内で暗号化される場合があります。転送中の暗号化は、データが送信されている間にデータを保護します。[ 4 ]
データ圧縮方式は、多くの場合(データベースなど)、ビット列をより短いビット列で表現し(「圧縮」)、必要に応じて元のビット列を復元する(「解凍」)ことを可能にします。これにより、多くの種類のデータにおいてストレージ容量を大幅に削減(数十パーセント)できますが、その代償として計算量(必要に応じて圧縮と解凍を行う)が増加します。ストレージコストの削減と、関連する計算コストおよびデータ可用性の遅延の可能性とのトレードオフを分析した上で、特定のデータを圧縮して保持するかどうかを決定します。
データストレージの種類によって、故障箇所や予測故障解析の方法が異なる。機械式ハードドライブにおけるヘッドクラッシュや、フラッシュストレージにおける電子部品の故障などは、瞬時にデータ損失につながる脆弱性である。
冗長性により、コンピュータは符号化されたデータのエラー(例えば、ランダムな放射線によるランダムなビット反転など)を検出し、数学的アルゴリズムに基づいてエラーを修正することができます。通信やストレージにおけるエラー検出には、一般的に巡回冗長検査(CRC)方式が用いられます。冗長性ソリューションには、ストレージの複製、ディスクミラーリング、RAID(独立ディスク冗長アレイ)などがあります。

ハードディスクドライブの故障の兆候は、稼働時間とスピンアップ回数を含むSMART診断データを使用して推定できますが、その信頼性については議論があります。 [ 5 ]光メディアの状態は、修正可能なマイナーエラーを測定することで判断できます。その数が多い場合は、メディアの劣化や低品質を示します。連続してマイナーエラーが多すぎると、データ破損につながる可能性があります。すべてのベンダーとモデルの光ドライブがエラースキャンをサポートしているわけではありません。[ 6 ]
十分なメモリがなければ、コンピュータは固定演算を実行して結果を即座に出力することしかできず、新しいプログラムを実行するにはハードウェアの再構成が必要になります。これは、卓上電卓、デジタル信号プロセッサ、その他の特殊デバイスなどのデバイスでよく使用されます。フォン・ノイマン型マシンは、操作命令とデータを格納するメモリを備えている点で異なり、[ 1 ] : 20新しいプログラムごとにハードウェアを再構成する必要はなく、メモリ内の新しい命令で再プログラムするだけで済みます。また、比較的単純なプロセッサが連続する計算の間で状態を保持して複雑な手続きの結果を構築できるため、設計がより単純になる傾向があります。現代のコンピュータのほとんどはフォン・ノイマン型マシンです。
現代の用法では、「ストレージ」という用語は通常、CPUから直接アクセスできないストレージ デバイスとそのメディアで構成されるコンピュータ データ ストレージのサブセット、つまり二次ストレージまたは三次ストレージを指します。一般的なストレージの形式には、ハードディスク ドライブ、光ディスクドライブ、不揮発性デバイス (つまり、コンピュータの電源が切れても内容が保持されるデバイス) があります。[ 7 ]一方、「メモリ」という用語は、半導体読み書きデータ ストレージ、通常はダイナミック ランダム アクセス メモリ(DRAM)を指します。ダイナミック ランダム アクセス メモリは揮発性メモリの一種で、保存された情報を定期的に読み直したり書き直したり、リフレッシュしたりする必要があります。スタティック RAM (SRAM) は DRAM に似ていますが、電源が供給されている限りリフレッシュする必要はありません。
現代の用法では、プライマリストレージとセカンダリストレージのメモリ階層は、歴史的にそれぞれセカンダリストレージとターシャリストレージと呼ばれていたものを指す場合がある。[ 8 ]

メインメモリ(プライマリメモリ、内部メモリ、プライマリストレージとも呼ばれる)は、単にメモリと呼ばれることもあり、CPUが直接アクセスできるストレージです。CPUはそこに格納されている命令を継続的に読み込み、必要に応じて実行します。アクティブに処理されるデータもすべて、統一された方法でそこに格納されます。歴史的に、初期のコンピュータはプライマリストレージとして遅延線、ウィリアムズ管、または回転磁気ドラムを使用していました。1954年までに、これらの信頼性の低い方法は、ほとんどが磁気コアメモリに置き換えられました。コアメモリは、集積回路技術の進歩により半導体メモリが経済的に競争力を持つようになる1970年代まで主流でした。
これにより、小型軽量で比較的高価な現代のランダムアクセスメモリが誕生しました。主記憶装置として使用されるRAMは揮発性であり、一定時間電源が供給されないと情報が失われます。開いているプログラムを保存するだけでなく、ディスクキャッシュおよび書き込みバッファとしても機能し、読み書き性能を向上させます。オペレーティングシステムは、実行中のソフトウェアで必要とされない限り、キャッシュ用にRAM容量を借り入れます。[ 9 ]余剰メモリは、一時的な高速データストレージ用のRAMドライブとして利用できます。メインの大容量RAMの他に、主記憶装置にはさらに2つのサブレイヤーがあります。
ROM、EEPROM、NORフラッシュ、RAMなどの主記憶装置[ 10 ]は通常バイトアドレス指定可能です。このようなメモリは、アドレスバスとデータバスからなるメモリバスを介して中央処理装置に直接または間接的に接続されます。CPUはまず、メモリアドレスと呼ばれる数値をアドレスバスを通して送信し、データの目的の場所を示します。次に、データバスを使用してメモリセル内のデータを読み書きします。さらに、メモリ管理ユニット(MMU)は、CPUとRAMの間にある小型デバイスで、実際のメモリアドレスを再計算します。メモリ管理ユニットはメモリ管理を可能にし、たとえば仮想メモリの抽象化やその他のタスクを提供できます。
小さな起動プログラム(BIOS)を含む不揮発性主記憶装置は、コンピュータのブートストラップ、つまり、不揮発性二次記憶装置からより大きなプログラムをRAMに読み込み、実行を開始するために使用されます。この目的で使用される不揮発性技術は、読み出し専用メモリ(ROM)と呼ばれます。ほとんどの種類の「ROM」は文字通り読み出し専用ではありませんが、書き込みが困難で時間がかかります。一部の組み込みシステムは、プログラムがめったに変更されないため、ROMから直接プログラムを実行します。標準的なコンピュータは、ファームウェアを除いて、ROMに多くのプログラムを保存することはほとんどなく、大容量の二次記憶装置を使用します。
二次記憶装置(外部メモリまたは補助記憶装置とも呼ばれる)は、CPUから直接アクセスできないという点で主記憶装置とは異なります。コンピュータは入出力チャネルを使用して二次記憶装置にアクセスし、必要なデータを主記憶装置に転送します。二次記憶装置は不揮発性であり、電源が切れてもデータを保持します。二次記憶装置は主記憶装置よりも安価であるため、現代のコンピュータシステムでは通常、主記憶装置よりも2桁多い二次記憶装置を備えています。
現代のコンピュータでは、通常、二次記憶装置としてハードディスクドライブ(HDD)またはソリッドステートドライブ(SSD)が使用されます。HDDまたはSSDの1バイトあたりのアクセス時間は通常ミリ秒単位で測定されますが、主記憶装置の1バイトあたりのアクセス時間はナノ秒単位で測定されます。CDやDVDドライブなどの回転式光記憶装置は、さらに長いアクセス時間を必要とします。二次記憶装置のその他の例としては、USBフラッシュドライブ、フロッピーディスク、磁気テープ、紙テープ、パンチカード、RAMディスクなどがあります。
シーク時間と回転遅延を削減するために、HDD、ODD、SSDなどの二次記憶装置は、大きな連続ブロックでディスクとの間で転送されます。二次記憶装置はブロック単位でアドレス指定できます。HDDのディスク読み書きヘッドが適切な位置とデータに到達すると、トラック上の後続のデータへのアクセスは非常に高速になります。I/Oボトルネックを削減するもう1つの方法は、 RAIDなどを使用して、プライマリメモリと二次メモリ間の帯域幅を増やすために、複数のディスクを並列に使用することです。[ 11 ]
二次記憶装置は、多くの場合、ファイルシステム形式に従ってフォーマットされます。ファイルシステム形式は、データをファイルやディレクトリに整理するために必要な抽象化を提供すると同時に、特定のファイルの所有者、アクセス時間、アクセス権限、その他の情報を記述するメタデータも提供します。ほとんどのコンピュータのオペレーティングシステムは仮想メモリの概念を使用しており、システムで物理的に利用可能な容量よりも多くの主記憶装置の容量を利用できます。主記憶装置がいっぱいになると、システムは使用頻度の低いチャンク(ページ)を二次記憶装置上のスワップファイルまたはページファイルに移動し、必要に応じて後で取得します。

三次ストレージまたは三次メモリは、通常、システムの要求に応じてカタログデータベースからストレージ デバイスにリムーバブル マス ストレージ メディアをマウントおよびアンマウントするロボット アームを伴います。二次ストレージよりもはるかに遅いため (たとえば 5 ~ 60 秒 vs. 1 ~ 10 ミリ秒)、主にめったにアクセスされない情報のアーカイブに使用されます。これは、人間のオペレーターなしでアクセスされる非常に大きなデータ ストアに主に役立ちます。典型的な例としては、テープ ライブラリ、光ジューク ボックス、およびアイドル ディスクの大規模アレイ ( MAID ) があります。三次ストレージは、「オンラインに近い」ため、ニアライン ストレージとしても知られています。 [ 12 ]階層ストレージ管理は、長期間使用されていないファイルを高速ハードディスク ストレージからライブラリまたはジューク ボックスに自動的に移行するアーカイブ戦略です。
オフラインストレージとは、処理ユニットの制御下にない媒体またはデバイスにコンピュータデータを保存することです。[ 13 ]媒体は通常、二次または三次ストレージデバイスに記録され、その後物理的に取り外されるか切断されます。三次ストレージとは異なり、人間の操作なしにはアクセスできません。分離された媒体は物理的に容易に輸送できるため、情報の転送に使用されます。現代のパーソナルコンピュータでは、ほとんどの二次および三次ストレージ媒体がオフラインストレージにも使用されています。
二次記憶装置または三次記憶装置は、コンピュータネットワークを利用してコンピュータに接続される場合があります。この概念は、一次記憶装置には当てはまりません。
クラウドストレージは、高度に仮想化されたインフラストラクチャに基づいています。[ 14 ]クラウドコンピューティングのサブセットであり、クラウドネイティブなインターフェース、ほぼ瞬時の弾力性と拡張性、マルチテナンシー、従量制リソースといった特徴があります。クラウドストレージサービスは、オフプレミスサービスから利用することも、オンプレミスに展開することもできます。[ 15 ]
クラウド展開モデルは、クラウドプロバイダーと顧客間の相互作用を定義します。[ 16 ]
クラウドストレージには3種類あります。

ストレージ階層のあらゆるレベルにおけるストレージ技術は、特定のコア特性を評価するとともに、特定の実装に固有の特性を測定することによって区別できます。これらのコア特性は次のとおりです。
半導体メモリは、半導体ベースの集積回路(IC)チップを使用して情報を記憶します。データは通常、金属酸化膜半導体(MOS)メモリセルに格納されます。半導体メモリチップには、微小なMOS電界効果トランジスタ(MOSFET)やMOSキャパシタ、あるいはその両方からなる数百万個のメモリセルが含まれる場合があります。半導体メモリには揮発性タイプと不揮発性タイプがあり、前者は標準的なMOSFETを使用し、後者はフローティングゲートMOSFETを使用します。
現代のコンピュータでは、主記憶装置はほぼ例外なく、動的揮発性半導体ランダムアクセスメモリ(RAM)、特に動的ランダムアクセスメモリ(DRAM)で構成されています。2000年代に入ってから、フラッシュメモリと呼ばれる不揮発性フローティングゲート半導体メモリが、家庭用コンピュータのオフラインストレージとして着実にシェアを拡大してきました。不揮発性半導体メモリは、さまざまな高度な電子機器や、それらに対応するように設計された専用コンピュータの二次記憶装置としても使用されています。
2006年には早くも、ノートパソコンやデスクトップコンピュータのメーカーは、従来型のHDDに加えて、あるいはそれに代わるものとして、二次ストレージのデフォルト構成オプションとしてフラッシュベースのソリッドステートドライブ(SSD)を使用し始めた。 [ 36 ] [ 37 ] [ 38 ] [ 39 ] [ 40 ]
磁気ストレージは、磁性コーティングされた表面上の異なる磁化パターンを利用して情報を保存します。磁気ストレージは不揮発性です。情報へのアクセスは、1つまたは複数の読み書きヘッドを使用して行われ、各ヘッドには1つまたは複数の記録トランスデューサが含まれている場合があります。読み書きヘッドは表面の一部しかカバーしないため、データにアクセスするには、ヘッドまたは媒体、あるいはその両方を互いに相対的に移動させる必要があります。現代のコンピュータでは、磁気ストレージは次のような形態をとります。
初期のコンピュータでは、磁気ストレージは次のような用途にも使用されていました。
磁気ストレージは、磁場の変化によって物理的な摩耗が生じないため、フラッシュストレージや書き換え可能な光メディアのように書き換えサイクルの明確な制限はありません。むしろ、その寿命は機械部品によって制限されます。[ 41 ] [ 42 ]
光ストレージ、特に一般的な光ディスクは、円盤表面の凹凸に情報を記録します。レーザーダイオードで表面を照射し、その反射光を観察することで情報を読み取ります。光ディスクストレージは不揮発性です。凹凸は、永久的なもの(読み取り専用メディア)、一度だけ形成されるもの(書き込み専用メディア)、または可逆的なもの(記録可能メディアまたは読み書き可能メディア)があります。2009年現在、以下の形式が一般的に使用されています。: [ 43 ]
光磁気ディスクストレージは、強磁性体表面の磁気状態を利用して情報を保存する光ディスクストレージの一種です。情報の読み出しと書き込みは、磁気と光学的手法を組み合わせて行われます。光磁気ディスクストレージは、不揮発性、シーケンシャルアクセス、低速書き込み、高速読み出しのストレージであり、三次ストレージやオフラインストレージとして使用されます。
3D光データストレージも提案されている。
光誘起による磁性光伝導体の磁化融解は、高速低エネルギー消費の磁気光学ストレージにも提案されている。[ 44 ]
紙のデータストレージは、一般的には紙テープやパンチカードの形で、特に汎用コンピュータが登場する以前は、自動処理のための情報保存に長年使用されてきました。情報は、紙や厚紙に穴を開けることで記録され、媒体上の特定の場所が穴が開いているか、それとも穴が開いているかを機械的に(あるいは後に光学的に)読み取って判断していました。バーコードによって、販売または輸送される物品に、コンピュータで読み取り可能な情報を安全に添付することが可能になりました。
(他のデジタルデータストレージと比較して)比較的少量のデジタルデータは、紙の寿命が磁気データストレージよりも長いため、非常に長期保存のためにマトリックスバーコードとして紙にバックアップされることがあります。 [ 45 ] [ 46 ]
この記事は、連邦規格1037C(一般調達局)からのパブリックドメイン資料を組み込んでいます。 2022年1月22日にオリジナルからアーカイブされました。