メインコンテンツまでスキップ

コントローラ キャッシュとは何ですか?

コントローラ キャッシュは、コントローラとホストの間、およびコントローラとディスクの間の2種類のI/O(入出力)処理をスムーズに行うための物理メモリ スペースです。

読み取りおよび書き込みのデータ転送では、ホストとコントローラは高速な接続を介して通信します。ところが、ディスクは比較的低速なデバイスであるため、コントローラのバックエンドからディスクへの通信は高速ではありません。

コントローラ キャッシュがデータを受信すると、コントローラはデータを保持していることをホスト アプリケーションに通知します。この方法では、ホスト・アプリケーションは、I/O がディスクに書き込まれるまで待つ必要はありません。代わりに、アプリケーションは操作を続行することができます。また、サーバ アプリケーションはキャッシュされたデータにアクセスできるため、データにアクセスするためにディスクを読み取る必要がなくなります。

コントローラ キャッシュは、ストレージ アレイの全体的なパフォーマンスに次のように影響します。
  • キャッシュはバッファとして機能するため、ホストとディスクのデータ転送を同期する必要がありません。

  • ホストからの読み取り / 書き込み処理の対象となるデータが以前の処理ですでにキャッシュに格納されていれば、ディスクにアクセスする必要はありません。

  • 書き込みキャッシュを使用している場合、ホストは以前の書き込み処理がディスクに書き込まれる前に後続の書き込みコマンドを送信できます。

  • キャッシュ プリフェッチを有効にすると、シーケンシャル リード アクセスが最適化されます。読み取り処理ではデータがディスクから読み取られるのではなく、キャッシュ内のデータが使用される可能性が高くなります。

重要
データが失われる可能性 – 保護のためのユニバーサル電源装置がない状況で[バッテリなしの 書き込みキャッシュ]オプションを有効にすると、データが失われる可能性があります。また、コントローラのバッテリがない状況で[バッテリなしの 書き込みキャッシュ]を有効にした場合にも、データが失われる可能性があります。