ハードウェアの何がRAMをドライブより高速にするのか

ハードウェアの何がRAMをドライブより高速にするのか

RAM がディスク ドライブや SSD よりも高速になる理由について、具体的な説明が見つかりません。RAM のデータの読み取りと書き込みは、永続的なストレージと何が違うのでしょうか。両者の間には、このような劇的な違いをもたらす根本的な違いは何でしょうか。永続的なストレージと一時的なストレージ。読み取り/書き込みの速度が遅いか速いか。RAM の何がそれほど高速になるのでしょうか。

答え1

物理レベルで発生することと、CPU とデバイスの速度に影響を与えるデバイス間のインターフェースで発生することとの間には多くの違いがあります。

注: RAM には他の種類 (FeRAM、PRAM など) や他のストレージ システムもありますが、ここでは説明の都合上、コンピューターで使用される主要なコンポーネントのみを検討します。

身体的な違い

RAM で使用される「単純な」電子状態の変化と、HDD および SSD デバイスで使用される物理的な世界の変化との間には、根本的な違いがあります。

従来の RAM は、状態を保持するために少数のトランジスタを使用します。トランジスタは本質的に高速なデバイスであり、純粋に電流に基づいて動作します。動作は CPU と同じですが、その高速性には揮発性であるという欠点もあります。つまり、電源が切れるとデータが失われるということです。

ハード ドライブでは、はるかに多くの物理的な変化が起こります。電子回路の状態を変更するのではなく、基本的には物理的な媒体に強制的に変更を加えようとします。HDD では、針を再磁化するのと似たプロセスで、磁石を使用して原子を動かし、磁場を揃える必要があります。このプロセスは、純粋な電子ベースのトランジスタ スイッチと比較すると比較的低速です。

ソリッド ステート ドライブ (SSD) は、通常の RAM とハード ドライブの中間に位置する奇妙なデバイスです。基本的には電子ストレージ デバイスですが、書き込みを行うには物理的な変更が必要です。電子は、通常であれば行きたくない領域に高電圧で押し込まなければなりません。この高電圧と強制書き込みには、単純なトランジスタ状態の変更よりも多くの作業が必要です。読み取りも少し複雑で、その点では速度が少し遅くなります。フラッシュ ストレージの仕組みについては、以前記事を書いています。この答えについて

インターフェースの違い

また、これらのデバイスへのインターフェイスの性質も考慮する必要があります。HDD や SSD などのストレージ デバイスには、アドレス ラインとデータ ラインの両方をプロトコル ベースのコマンド インターフェイスに組み合わせるコントローラーとインターフェイスがあります。何かを実行するには、コントローラーがデコードして実行する必要があることを示すコマンドを送信する必要がありますgive me the data from block 3192write this <data> to block 549,321,974物理 HDD は回転する性質があるため、データの各要求が前のデータの後に順番に続くときに最もうまく機能します。

SSD ははるかに寛容なデバイスであり、データ要求が順番に行われるかどうかはそれほど気にしませんが、それでも「シンプルな」インターフェースを介して送信されたコマンドを処理するためにデバイス内のコントローラーが必要です。

HDD および SSD のコントローラへのインターフェイス (および一般的な最新のプロトコル ベースのインターフェイス) は、「シリアル」モードで動作します。これは、コマンドを作成するために繰り返し切り替える必要がある、基本的に 1 つのデータ ラインがあることを意味します。1 バイトのデータを転送するには、シリアル ラインを少なくとも 8 回切り替える必要があります。データだけでなく、コントローラに読み取りまたは書き込みのどちらを要求しているかを伝えるコマンドのバイトを送信すると、多くの「オーバーヘッド」が発生します。

一方、RAM は CPU とのインターフェイスが非常に広く、また「並列」インターフェイスでもあります。RAM には複数のアドレス ラインとデータ ラインがあり、データの入出力を処理するための実際のコントローラ (CPU に組み込まれているメモリ コントローラを除く) は必要ありません。CPU はアドレス ラインを必要な値に変更し、読み取りか書き込みかを示す別の 2、3 のラインを設定し、複数のデータ ラインでデータの送信を開始します。これははるかに複雑な構成ですが、専用の「広い」データ バスがあるため、一度に大量のデータを送信でき、結果としてバルク速度が向上します。

インターフェースの違いについては、私の記事で詳しく書いています。ランダム アクセス メモリが「ランダム アクセス」と呼ばれる理由についての回答

関連情報