OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

HDDの内蔵キャッシュは何をキャッシング?

  • 暇なときにでも
  • 質問No.187499
  • 閲覧数159
  • ありがとう数5
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 38% (63/163)

 こんにちは。
 最近、Western Digitalより、8Mバイトキャッシュ内蔵のHDDが発売されています。
 この商品に限らず、HDDには、2Mバイト程度のキャッシュが内蔵されているのが一般的です。
 さて、このHDDの内蔵キャッシュは、何をキャッシュするのでしょうか。
 HDD(IDE)のプラッタへのデータの読み書きについては、ファイル名によるアクセスではないので、
 ・トラック単位でのデータのキャッシュ
 ・セクタ単位でのデータのキャッシュ
などになると思うのですが、本当のところをご存知のかた、よろしくお願いいたします。
 もちろん、PC内のOS管理下のメインメモリの話ではありません。HDD内のコントローラの働きの仕組に近いものです。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3
レベル12

ベストアンサー率 47% (330/699)

以下、聞いたお話と推測交じりなのでかなりいい加減かもしれませんが、参考になれば。。。

>FATファイルシステムでは、FATを調べてファイルのセクタ位置を割り出し、読み書きをしていると思っています。
これは違います。ファイルシステムやOSそのものが異なる場合を考えれば判ると思いますが、そこまでHDD自身は頭がよろしくありません。
HDDのお仕事は、要求されたアドレスから要求されたバイト数のデータを上位に流すだけです。
FAT云々のお仕事はドライバが担当します。(95/98系でNTFSが読めないのはその為です)

HDDのキャッシュは、上記で記述したデータの中継地点としてのみ機能するものです。
ココは若干の仕事の区分の違いが有るものの御推察の通りですが、ロード命令が意外だと思います。

書き込みの場合は言うまでもないと思いますが、読み込みの場合はロード命令の開始アドレスからキャッシュ一杯になるまで読み込みを続けます。(キャッシュミスが発生した時点で再度読み込みします)

その為キャッシュは少ないよりは多い方がキャッシュミスしづらいのですが、キャッシュ容量の大き過ぎるHDDは、小さいデータをランダムリードするとキャッシュミスを繰り返し、反って遅くなる筈です。

多分これで回答になっていますよね??
お礼コメント
mishida

お礼率 38% (63/163)

 FAT云々は、おっしゃるとおりです。誤解が少なくなるように、OSの話ではないというのを伝えようとしただけです。かえって誤解があったようで、すみません。
 HDDのキャッシュについては概略理解しました。ありがとうございます。
 また、キャッシュのインデックスがなんであるかも知りたかったのですが、おいおい調べようと思います。
投稿日時 - 2002-01-18 09:53:29
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル9

ベストアンサー率 11% (18/153)

CPUのキャッシュと同じで、HDDへの書き込みや読み込みを速く行うためにあるのではないのですか?ずっとそう思ってました。 専門的な知識のある方の意見を聞きたいです。
CPUのキャッシュと同じで、HDDへの書き込みや読み込みを速く行うためにあるのではないのですか?ずっとそう思ってました。

専門的な知識のある方の意見を聞きたいです。

  • 回答No.2
レベル14

ベストアンサー率 47% (11786/24626)

ハードディスクのキャッシュはファイル名などよりも低いレベルでのデータの一時保存を行います。 ファイル名などはハードディスクにデータがわたる段階ではOSが管理するものですので。 それにより見かけ上の書き込み速度の向上と読み出し時のハード的な動作による速度低下を押さえています。 CPUの次キャッシュと2次キャッシュの関係とはちょっと違いOSの持つキャッシュと別の動作でキャッシュを行っています。 ...続きを読む
ハードディスクのキャッシュはファイル名などよりも低いレベルでのデータの一時保存を行います。
ファイル名などはハードディスクにデータがわたる段階ではOSが管理するものですので。

それにより見かけ上の書き込み速度の向上と読み出し時のハード的な動作による速度低下を押さえています。

CPUの次キャッシュと2次キャッシュの関係とはちょっと違いOSの持つキャッシュと別の動作でキャッシュを行っています。
また、OS側はハードディスク内のキャッシュの状態などは関知していないでしょう。
お礼コメント
mishida

お礼率 38% (63/163)

 ありがとうございます。
 ところで、
> ハードディスクのキャッシュはファイル名など
> よりも低いレベルでのデータの一時保存を行い
> ます。
 この低いレベルというのは、なんでしょうか。
 そこが知りたいのです。

 質問にも記しましたが、HDDの物理的なアクセスは、HDD内のコントローラにより、セクタ単位になると思っています。FATファイルシステムでは、FATを調べてファイルのセクタ位置を割り出し、読み書きをしていると思っています。
 よって、「HDD内蔵キャッシュ」にキャッシングされるデータは、HDD内でセクタ単位で管理されていると考えればいいでしょうか。言葉を少し変えれば、「セクタ位置とその内容がキャッシュされている」という考え方でいいでしょうか。
 OS管理下のキャッシュの場合は、ファイル名でキャッシュデータが管理されていると理解しています(ランダムアクセス時のキャッシングは理解の範囲外ですが)。
 ところで、WD社の8Mキャッシュですが、OSに遅延書き込みをサポートしているキャッシュシステムを入れている場合、8M/2Mの差に、そんなに意味はないのではないかと思うのです。
 それを判断するとっかかりとして、HDD内蔵キャッシュの挙動を知りたいと思った次第です。

 言われるように、OS管理下のキャッシュに関してのお話ではありません。
投稿日時 - 2001-12-20 09:47:07
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ