RAMドライブ(RAMディスクとも呼ばれる)は、ランダムアクセスメモリ(主記憶装置または揮発性メモリ)のブロックであり、コンピュータのソフトウェアはこれをハードディスクドライブまたはソリッドステートドライブ(二次記憶装置)であるかのように扱います。RAMドライブは、要求の厳しいタスクに対して高性能な一時記憶を提供し、ソリッドステートドライブで使用される不揮発性フラッシュメモリとは異なり、書き込みによる摩耗を受けにくいため、不揮発性記憶装置の劣化を防ぎます。
これは、RAMを内蔵した別個のハードウェアを使用するハードウェアRAMドライブ(バッテリーバックアップ付きソリッドステートドライブの一種)と区別するために、仮想RAMドライブまたはソフトウェアRAMドライブと呼ばれることもあります。
RAMドライブは、もともと主記憶装置と補助記憶装置の性能差を埋めるために考案されました。ソリッドステートドライブの登場により、この利点は縮小しました。しかし、ソリッドステートドライブは頻繁な書き込みによって摩耗します。RAMはこのような損傷を受けないか、受けてもはるかに少ないため、RAMデバイスは一時データやキャッシュデータなど、頻繁に変化するデータを保存する上で依然として優位性を持っています。
RAMドライブのパフォーマンスは、一般的にSSD、テープ、光ディスク、ハードディスク、フロッピーディスクなどの他のデジタルストレージよりも桁違いに高速です。 [ 1 ]このパフォーマンスの向上は、アクセス時間、最大スループット、ファイルシステム特性 など、複数の要因によるものです。
RAMドライブはソリッドステート(可動部品なし)であるため、ファイルアクセス時間が大幅に短縮されます。物理的なハードドライブ、光ディスク(CD-ROM、DVD、Blu-rayなど)、その他のメディア(磁気バブル、音響ストレージ、磁気テープなど)では、読み書きを行う前に情報を特定の位置に移動させる必要があります。RAMドライブはアドレスだけでデータにアクセスできるため、この遅延が解消されます。
第二に、 RAMドライブの最大スループットは、RAM、データバス、およびコンピュータのCPUの速度によって制限されます。その他のストレージメディアは、 IDE(PATA)、SATA、USB、FireWireなどのストレージバスの速度によってさらに制限されます。この制限をさらに複雑にするのは、ドライブのモーター、ヘッド、またはセンサーの実際の機械的な速度です。
第三に、NTFS、HFS+、UFS、ext2などのファイルシステムは、ドライブへの余分なアクセス、読み書きを使用します。これは小さいものですが、特に小さなファイルが多数ある場合と大きなファイルが少数ある場合(一時的なインターネットフォルダ、Webキャッシュなど)では、すぐに蓄積される可能性があります。
ストレージがRAMにあるため、揮発性メモリであり、意図的な電源喪失(コンピュータの再起動やシャットダウン)でも偶発的な電源喪失(停電やシステムクラッシュ)でも、データは失われます。これは一般的に弱点であり(データの損失を防ぐため、定期的に永続ストレージ媒体にバックアップする必要があります)、場合によっては望ましい場合もあります。例えば、暗号化されたファイルの復号化されたコピーを扱う場合や、システムの一時ファイルをRAMドライブに保存する場合などです。
多くの場合、RAMドライブに保存されるデータは、アクセス速度を向上させるために、他の場所に永続的に保存されているデータから作成され、システムが再起動されるとRAMドライブ上に再作成されます。
データ損失のリスクを除けば、RAMドライブの主な制約は容量であり、これは搭載されているRAMの量によって制限される。数テラバイトのSSDストレージは一般的になっているが、RAMは依然としてギガバイト単位で計測されている。
RAMドライブは、二次記憶装置に通常使用されるデータバスにアクセスするのではなく、物理ハードドライブ上のパーティションであるかのように通常のシステムメモリを使用します。RAMドライブは、OSカーネル内の特別なメカニズムを介してオペレーティングシステムで直接サポートされる場合もありますが、一般的には仮想デバイスドライバを介してRAMドライブにアクセスする方が簡単です。これにより、RAMドライブがディスクではないという性質は、OSとアプリケーションの両方から見えなくなります。
RAMドライブに保存される情報は一時的なものであるため、通常はバッテリーバックアップは必要ありませんが、無停電電源装置(UPS)があれば、短時間の停電時にもシステムを稼働させ続けることができます。
一部のRAMドライブは、 cramfsなどの圧縮ファイルシステムを使用して、圧縮データを解凍せずにリアルタイムでアクセスできるようにしています。これは、RAMドライブが従来のハードドライブよりもバイトあたりの価格が高いため、容量が小さいことが多いことを考えると便利な機能です。
マイクロコンピュータ用の最初のソフトウェア RAM ドライブは、1979/80 年に英国のジェリー・カーリンによって発明され、開発されました。シリコン ディスク システムとして知られるこのソフトウェアは、さらに開発されて商用製品となり、JK システムズ リサーチによって販売されました。同社は、マイクロコスム社のピーター・チーズライトが加わった際にマイクロコスム リサーチ社となりました。そのアイデアは、初期のマイクロコンピュータが CPU が直接アドレス指定できる以上の RAM を使用できるようにすることでした。バンク切り替え RAM をディスク ドライブのように動作させることは、特にハード ドライブがそのようなマシンで容易に入手できるようになる前は、ディスク ドライブよりもはるかに高速でした。シリコン ディスクは 1980 年に発売され、最初はCP/Mオペレーティングシステム向けでしたが、後にMS-DOS向けになりました。
128kBのAtari 130XE(DOS 2.5搭載)とCommodore 128は、 Apple II用のProDOSと同様に、RAMドライブをネイティブにサポートしています。128kB以上のRAMを搭載したシステムでは、ProDOSは自動的に/RAMという名前のRAMドライブを作成します。
IBM は1984 年 8 月にPC DOS (バージョン 3.0)にVDISK.SYSという名前の RAM ドライブを追加しました。これは拡張メモリを使用する最初の DOS コンポーネントでした。VDISK.SYSは、初期の PC DOS のほとんどのコンポーネントとは異なり IBM によって作成されたため、MicrosoftのMS-DOSでは利用できませんでした。Microsoft は、拡張メモリも使用できる同様のプログラムRAMDRIVE.SYS をMS-DOS 3.2 (1986 年リリース) に含めました。[ 2 ]これは Windows 7 で廃止されました。DR -DOSおよび DR ファミリーのマルチユーザー オペレーティングシステムにも、VDISK.SYS という名前の RAM ディスクが付属していました。マルチユーザー DOSでは、RAM ディスクはデフォルトでドライブ文字 M: (メモリ ドライブ) になります。AmigaOSは、1985 年のバージョン 1.1 のリリース以来、内蔵 RAM ドライブを備えており、AmigaOS 4.1 (2010 年) でもまだ備えています。Apple Computerは、 ProDOSを搭載したApple IIシリーズにこの機能を追加し、その後1991年にSystem 7のメモリコントロールパネルでApple Macintoshにもこの機能を追加し、 Mac OS 9のライフサイクルを通じてこの機能を維持しました。
1986 年に導入され、 1987年に一般に利用可能になった RAM ドライブの革新は、ペリー・キボロウィッツがAmigaOS向けに開発したもので、ほとんどのクラッシュや再起動に耐えられるというものでした[ 3 ][ 4 ] 。ASDG リカバリ可能 RAM ディスクと呼ばれるこのデバイスは、メモリの断片化を減らすために、デフォルトのメモリ割り当ての逆順でメモリを動的に割り当てることによって再起動に耐えました (基盤となる OS がサポートする機能)。「スーパーブロック」には、再起動時にメモリ内で見つけることができる固有の署名が書き込まれました。スーパーブロックと他のすべての RRD ディスク「ブロック」は、破損が検出された場合にディスクを無効化できるようにチェックサムを保持していました。当初、ASDG RRD は ASDG メモリ ボードにロックされ、販売機能として使用されました。その後、ASDG RRD は、10 ドルの寄付を推奨するシェアウェアとして提供されました。シェアウェア版は、Fred Fish Disks 58 [ 5 ]および 241 [ 6 ]に収録されました。AmigaOS 自体は、バージョン 1.3 でリカバリ可能な RAM ディスク (「RAD」と呼ばれる) を獲得しました[ 7 ]。
多くのUnixおよびUnixライクなシステムは、Linuxの/dev/ramやFreeBSDのmd(4) [ 8 ]など、何らかのRAMドライブ機能を提供しています。RAMドライブは、Unixライクなオペレーティングシステムが時折構成されるような、高性能かつ低リソースのアプリケーションで特に役立ちます。また、リムーバブルメディアから起動し、セッション全体を通してRAMディスクに保存されるように設計された、特殊な「超軽量」Linuxディストリビューションもいくつか存在します。
極めて低遅延のストレージデバイスとして機能すること専用のDRAMメモリを使用するRAMドライブが存在する。このメモリはプロセッサから分離されており、通常のシステムメモリと同じ方法では直接アクセスできない。最初の専用RAMドライブのいくつかは1983年から1985年にリリースされた。[ 9 ] [ 10 ]
ハードウェア RAM ドライブの初期の例は、1986 年に Assimilation Process 社が Macintosh 向けに発表しました。「Excalibur」と呼ばれるこの製品は、2MB の外付け RAM ドライブで、599 ドルから 699 ドルで販売されました。RAM 容量は 1MB 単位で拡張可能で、内蔵バッテリーは 6 〜 8 時間有効と言われており、当時としては珍しく、Macintosh のフロッピー ディスク ポートを介して接続されました。[ 11 ] [ 12 ]
2002年、Cenatekは最大4GBのRocket Driveを製造しました。これはPC133メモリ用のDIMMスロットが4つあり、最大4ギガバイトのストレージ容量を備えていました。当時、一般的なデスクトップコンピュータは64~128メガバイトのPC100またはPC133メモリを使用していました。1ギガバイトのPC133モジュール(当時入手可能な最大容量)は約1,300ドル(2025年換算で2,327ドル)でした。4GBのストレージを備えたフル装備のRocket Driveは5,600ドル( 2025年換算で10,024ドル)でした。[ 13 ]
2005年、ギガバイト・テクノロジーは最大4GBのi-RAMを製造した。これは基本的にRocket Driveと全く同じように機能したが、より新しいDDRメモリ技術を使用するようにアップグレードされており、最大容量も4GBに制限されていた。[ 14 ]
これらのデバイスはいずれも、ダイナミックRAMがデータを保持するために継続的な電源供給を必要とします。電源が切れるとデータは失われます。Rocket Driveには、コンピュータとは別に外部電源用のコネクタがあり、停電時にデータを保持するための外部バッテリーもオプションで用意されていました。i-RAMには、拡張ボード上に小型バッテリーが直接搭載されており、10~16時間の保護が可能でした。
両デバイスとも、専用RAMドライブからシステムへのデータ転送にSATA 1.0インターフェースを使用していた。SATAインターフェースはボトルネックとなり、両RAMドライブの最大性能を制限していたが、それでもこれらのドライブは、機械式ハードドライブと比較して、非常に低いデータアクセス遅延と高い持続転送速度を実現していた。
2006年、ギガバイト・テクノロジーは、i-RAMの第2世代製品である最大8GBのGC-RAMDISKを発売しました。最大容量は8GBで、i-RAMの2倍です。SATA-IIポートを使用しており、これもi-RAMの2倍です。最大のセールスポイントの1つは、ブートデバイスとして使用できることです。[ 15 ]
2007年、ACard Technologyは最大64GBのシリアルATA RAMディスクANS-9010を製造しました。技術レポートからの引用:「ANS-9010は、8つのDDR2 DIMMスロットを備え、スロットごとに最大8GBのメモリをサポートします。ANS-9010には2つのシリアルATAポートも搭載されており、単一のドライブとして機能したり、簡単にRAID 0アレイに分割できる2つのドライブとして機能したりできます。」[ 16 ]
2009年、Acard Technology社は、最大64GBの5.25インチダイナミックSSD SATA-II RAMディスク「ACARD ANS-9010BA」を発売しました。この製品は、SATA-IIポートを1つ使用します。
どちらのモデルも、フロントパネルに1つ以上のCompactFlashカードインターフェースを搭載しており、停電やバックアップバッテリー残量低下時に、RAMドライブに保存されている不揮発性データをCompactFlashカードにコピーできます。フロントパネルにある2つのプッシュボタンで、RAMドライブのデータを手動でバックアップ/復元できます。CompactFlashカード自体は、RAMのバックアップと復元専用であるため、通常の方法ではユーザーがアクセスできません。信頼性の高いバックアップとして効果的に機能させるには、CFカードの容量がRAMモジュールの総容量以上である必要があります。
2009年、DDRdrive, LLCは、世界最速のソリッドステートドライブであると謳うDDRDrive X1を製造しました。このドライブは、通常使用のためのプライマリ4GB DDR専用RAMドライブであり、4GB SLC NANDドライブへのバックアップとそこからの呼び出しが可能です。想定される市場は、ログファイルの保存と記録です。停電が発生した場合、バッテリーバックアップを使用して、60秒以内にデータを内蔵4GB SSDに保存できます。その後、電源が復旧すると、データはRAMに復元できます。ホストの電源が失われると、DDRdrive X1は揮発性データをオンボードの不揮発性ストレージにバックアップします。[ 17 ] [ 18 ]