一般的に読み込みと書き込みでは読み込みの方が早いです。
書き込みの際にハードディスの回転数を遅くするという話は
聞いたことがありません。
読み込みは1回転でできるが
書き込みは2回転必要という話も聞きません。
同一のハードディスク、同じ回転数、同じ磁気ヘッド。
なのにどうして書き込みのほうが遅いのでしょうか。
>同一のハードディスク、同じ回転数、同じ磁気ヘッド。
>なのにどうして書き込みのほうが遅いのでしょうか。
この前提が正確に言うと間違っています。
ハードディスクの読み出しと書き込みのヘッドは物理的に違う原理で行います。
そして読み出しの場合は読み出しヘッドを使ってヘッドの位置決めのためのサーボ情報を読みつつデータを読みます。
これに対してデータの書き込みをする場合は読み出し用のヘッドを使って書き込み位置を読み出しの時と同様に行ってから、書き込みヘッドを使って書き込みます。少なくともこの時点で書き込みは読み出しよりも時間がかかります。
さらにちゃんと書き込めたかどうかを読み出しヘッドを使って読み出して比較(ベリファィ)しますのでその場合にはディスクが1回転余分に回る時間が必要になりますので書き込みは必ず読み出しよりも遅くなります。
一般的に読み込みと書き込みでは読み込みの方が早いです
一般的だろうか?
RAID とかならともかく単体ディスクではそれほど極端な差は出ないと思うが。
むしろディスクに搭載されているバッファメモリやOSのディスクキャッシュの影響の方が遙かに大きい。
同一のハードディスク、同じ回転数、同じ磁気ヘッド。
なのにどうして書き込みのほうが遅いのでしょうか。
HDDとメモリとの性能差が絶対的に違うため、HDD単体でも、OSでもキャッシュ機構を持つ。
読み込みに対しては元データ(HDD 内)さえ変わっていなければ高速なメモリから読み込むことでかなりの高速化が見込める。
書き込みに関しては HDD 自体にアクセスすることが必須なためどうしてもその速度がボトルネックになる。
このため「見かけ上」の性能は読み込みが早いことになりやすい。
キャッシュ自体の制御はOSの仕様や HDD のファームウェアの性能に依存する。
ちなみに、手元でベンチマーク走らせると大きなファイルの R/W だと読み込みの方が速く、
小さなファイルの R/W だと書き込みの方が速くなった。
バッファ抜きの RAW デバイスとしての性能の話なら的外れになってしまうが。
確かに読み込みは早いですよね
自分的に
読み込みはもうそのディスクに入ってる
データをただ読み込むだけだから
早いんだと思います
でも書き込みはからのディスクにデータを入れる(書き込み)?ので
時間がかかるんだと思います
読み込み=入ってるデータを呼び出す
書き込み=なにもないディスクにデータを投入
こういうとこですか
>同一のハードディスク、同じ回転数、同じ磁気ヘッド。
>なのにどうして書き込みのほうが遅いのでしょうか。
この前提が正確に言うと間違っています。
ハードディスクの読み出しと書き込みのヘッドは物理的に違う原理で行います。
そして読み出しの場合は読み出しヘッドを使ってヘッドの位置決めのためのサーボ情報を読みつつデータを読みます。
これに対してデータの書き込みをする場合は読み出し用のヘッドを使って書き込み位置を読み出しの時と同様に行ってから、書き込みヘッドを使って書き込みます。少なくともこの時点で書き込みは読み出しよりも時間がかかります。
さらにちゃんと書き込めたかどうかを読み出しヘッドを使って読み出して比較(ベリファィ)しますのでその場合にはディスクが1回転余分に回る時間が必要になりますので書き込みは必ず読み出しよりも遅くなります。
コメント(3件)
特定用途向きはしらんが通常の物は常時ベリファイはやってないはず。
書き込み時のペナルティが大きすぎるからね。
RAID なんか使ってるとその辺が原因で整合性がとれなくなることも多い。
http://www.fmworld.net/biz/fmv/support/fmvmanual/0604-0609/option/b6fh9861/chap5.html
こういう一括でのベリファイは月一程度にはやるようにベンダーから要求されるな。
http://www.fmworld.net/biz/fmv/support/fmvmanual/0604-0609/option/b6fh9861/chap10.html#1173000
ベリファイが決定的な要素じゃないって事は、
書き込み単位であるブロックにする際にかかる演算が問題ってことでしょうかね?
あ、ちなみにキャッシュは無しでお願いします。