
Windows 7でアロケーションユニットサイズより小さい大きさのデータを記録する場合は、ハードディスクはその差分の領域も読み書きするのでしょうか。
例えば、アロケーションユニットサイズを64KBにしたハードディスクにファイルサイズ5KBのデータを書き込んだ場合は、差分の59KB (=64-5) の領域にはデータは何も記録されないことになりますが、書き込むときにはこの59KB部分も書き込むのでしょうか。また、このクラスタから読み出す場合は、この59KB部分も読みとるのでしょうか。
もし、ハードディスクが差分の領域も読み書きするのなら、小さいサイズのたくさんのファイルを読み書きするのに大きなアロケーションユニットサイズを設定していると読み書きが確実に遅くなるのではと思って質問しました。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
ディスク読み書きの最小単位が「セクター」(通常512バイト)で、読み書きはセクター単位でしか
行なえません。
1バイトのデータを読み書きしたい場合でも、1セクター分(512バイト)読み書きしなければなりません。
これに対し、「アロケーションユニット」(クラスター)は、ファイル管理の最小単位です。
ファイルを保存すると、どんなに小さいファイルでも1アロケーションユニット分の領域を使用します。
ただ、読み書きはセクター単位で行なわれるため、64KBのアロケーションユニットに5KBのファイルを書き込むと、5KB=10セクターだけ読み書きされ、残りの59KBにはアクセスされません。
このため、アロケーションサイズ未満のファイルでも、遅くなることはないと思われます。
ただ、アロケーションサイズが極端に大きいと、クラスターギャップ(上の例の59KB)が大きくなり、
ディスク上の無駄が多くなります。
ファイルのサイズは千差万別のため、映像などGB単位のファイルばかりを保存するのでなければ、
アロケーションユニットサイズは数KB程度が良いのでは、と思います。
NTFSのアロケーションユニットサイズはデフォルトで4KB(=8セクター)です。
この回答への補足
ご返事が遅くなってすみません。
>ただ、読み書きはセクター単位で行なわれるため、64KBのアロケーションユニットに5KBのファイルを書き込むと、5KB=10セクターだけ読み書きされ、残りの59KBにはアクセスされません。
そうなんですか。そうであれば、遅くなることは全くないんですね。
よく分かりました。
>ファイルのサイズは千差万別のため、映像などGB単位のファイルばかりを保存するのでなければ、
アロケーションユニットサイズは数KB程度が良いのでは、と思います。
映像などは全く扱いません。
Windows 7はいろんなケースを考えて規定値を4KBにしているんでしょうね。
有り難うございました。
No.1
- 回答日時:
素人の回答なので参考程度にして下さい。
アロケーションユニットサイズ単位で読み書きします。
そのため質問者さんの書かれている前半部分はそのとおりだと思います。
しかしアロケーションユニットサイズは連続した区画がとられます。
そのためアロケーションユニットサイズ内では断片化されないメリットがあります。
つまり64KB以内のファイルは実質断片化しないためシーケンシャルリード、ライトに有利です
---
HDDから4KBを読み書きする時間と64KBを読み書きする時間の差はHDDの回転速度を考えると無視できると思います。
それよりも断片化されてヘッドがシークする時間の方が大きいです。
だからといって1KBのデータでも64KBも占有するのは非効率なHDDの使い方です。
質問の「アロケーションサイズ≒データの大きさ」が一番効率と速度が良いのですが、データの大きさは予め判っていないので適当に決めるしかないのが現状でしょう。
効率と速度を両立するのは難しいというのが自分の考えです。
この回答への補足
ご返事が遅くなってすみません。
>HDDから4KBを読み書きする時間と64KBを読み書きする時間の差はHDDの回転速度を考えると無視できると思います。
確かにそうだと思うのですが、HDD全体を通常フォーマットすると1TBのHDDで5時間程度かかるので仮にデータの読み込みにもこれと同じ時間がかかるとすると、200MBのデータの読み込みには3.6秒(=5時間÷(1TB÷200MB))かかることになります。これを1個の200MBのファイルとして読み込めば3.6秒ですが、5KBの40,000個(=200MB÷5KB)のファイルとして読み込む場合で59KB(=64-5)部分も読むのであれば大変なロスが発生すると思いました。
>それよりも断片化されてヘッドがシークする時間の方が大きいです。
そうなんですね。シーク時間もロスになりますね。
>データの大きさは予め判っていないので適当に決めるしかないのが現状でしょう。
そうですね。もし、今の時点で分かっているとしても、将来どんな読み書きをするかは分からないですね。でも、Windows 7は4KBを規定値にしてますし、何かある仮定をしてこの値を設定しているのだと思います。そんな何かが分かればと思いました。
有り難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ドライブ・ストレージ ハードディスクのデータ回復について 15 2022/08/22 14:55
- ノートパソコン ノートパソコンのBD-Rドライブが使用できなくなってしまったらどうする 9 2022/12/05 09:14
- ドライブ・ストレージ ハードディスク 6 2023/01/29 04:40
- その他(コンピューター・テクノロジー) データの転送速度は何で決まるのでしょうか?読み込み3000MB/Sで書き込み2000MB/Sの外付け 3 2023/07/14 22:13
- ドライブ・ストレージ 緊急事態 データ救出案求む 外付けハードディスクケースに6TBのハードディスクを2つでミラーリングを 7 2023/01/03 10:57
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- バックアップ パソコンからDVDへコピー 5 2022/08/18 14:02
- ドライブ・ストレージ 外付けCDドライブだけ音楽CDが読み込まない 3 2023/08/18 21:28
- USBメモリー・SDカード・フラッシュメモリー PDF文書をCD-Rで配るときの注意事項 4 2022/03/31 16:49
- その他(パソコン・周辺機器) NVIDIAのシェーダーキャッシュ 1 2022/05/30 22:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
早送りできない動画ファイル
-
MP3について
-
なぜDVDに書き込むとdesktop.in...
-
JPG PNG サポートされていない...
-
動画の編集後 PPPファイルって...
-
重くて開かないEXCELファイルを...
-
.DAT ファイルの編集
-
SAVファイルの開き方
-
断片化がすぐに起こり困っています
-
CD-R を オーディオで再生...
-
DVD-RAMに保存のファイルが削除...
-
Program Files (x86)内のファイ...
-
デスククリーンアップとは。
-
合計7.5ギガのファイルをISOに...
-
bin、cue拡張子について
-
チェックディスクにおける検出...
-
Windows7のCドライブの使用容量...
-
HDDのシーケンシャルアクセスは...
-
Excelファイルとは?
-
pcg-Z505DEDVDを焼きたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
早送りできない動画ファイル
-
なぜDVDに書き込むとdesktop.in...
-
JPG PNG サポートされていない...
-
重くて開かないEXCELファイルを...
-
ゲーム
-
USBメモリのデータがパソコン本...
-
.DAT ファイルの編集
-
Excelファイルが大きすぎて開け...
-
SAVファイルの開き方
-
3時間以上の動画をDVDに焼...
-
DVD内のファイルの読み込み(コ...
-
移動したファイルの履歴を見る...
-
SSD→外付HDDの転送速度が1MB/s...
-
ディスク上のサイズを小さくす...
-
ラベル屋さんのデータ情報をエ...
-
EPSファイルとPDFファイ...
-
空き容量が十分あるのにメモリ...
-
大事なデータが消えてしまいました
-
tmpファイルが勝手にできて...
-
Cドライブの容量がプロパティで...
おすすめ情報