日記/2009-04-26/HDD の 4KB セクタ化による影響
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
] [
リンク元
]
開始行:
* HDD の 4KB セクタ化による影響 [#y5e39478]
HDD のセクタサイズの変更は私としてはかなりショッキングな...
「自分の手の届かない所なので,ジタバタしてもしょうがない...
で,「想像がつかない」人のためのドキュメントがこちら.
[http://bigsector.org/IDEMA_Long_Data_Block_WhitePaper_6_...
例によって http://bigsector.org/ 上のもの.
ざっと目を通してもらえばわかるけど,「上へ下への大騒ぎ」...
** エミュレーションモードとネイティブモードのセクタ対応 [...
はっきりとは書いてないようだけど,おそらくはもっとも単純な
|4KBセクタ|512Bセクタ|h
|0|0-7|
|1|8-15|
|2|16-23|
|…|…|
こんな対応なのだろう.
** CHS パラメータの呪い [#a4f1d8eb]
Windows Vista では違うようだけど,それより前の Windows で...
現代の HDD ではトラックあたりのセクタ数を外周と内周で変え...
ここで思い出してほしいのは,(ATA HDD では)ヘッド数・セ...
たとえばこんな感じ.
# fdisk -l /dev/hda
Disk /dev/hda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x6f08c061
Device Boot Start End Blocks Id ...
/dev/hda1 1 30401 244196001 83 ...
ということは,シリンダ境界は,512B セクタの世界では
> 255 x 63 = 16065 セクタ
単位になることになり,8 で割り切れる数にはなりにくそうで...
ということは,512B セクタの世界で何も考えずにパーティショ...
** 4KB セクタの一部書き換え [#f731e88e]
エミュレーションモードで 4KB セクタの中の一部の 512B セク...
+ 該当する 4KBセクタをいったん読み込んで
+ バッファ上で 512B セクタを書き換えて
+ ディスクに書き戻す
ような操作を行う必要があるはずである.
ということは,たとえエミュレーションであったとしても,こ...
で,先の 4KB セクタとパーティション先頭が合わない状態は,...
** ネイティブモードでは [#wb79e648]
今まではエミュレーションモードでの話だったのだけど,4KB ...
- そもそもパーティションテーブルの仕様はどうなるのか
- ファイルシステムの仕様もどうなるのか
というあたりからして謎だらけ,というか未定だったりするわ...
一番単純なのは
> 論理仕様は 512B セクタで定義して,4KB セクタでは「まと...
というところなんだろうけど.
あと
- SATA ホストアダプタ
も対応できるのかなぁ?
ATA コマンドとは別に DMA 転送長も設定できるようなデバイス...
** まとめると [#y3d33c56]
:エミュレーションモード|
従来のシステムで動作するんだろうけど,パーティション切り...
:ネイティブモード|
ディスク上のフォーマットがどうなるのか全く見えない.
そもそも今の SATA ホストアダプタで対応できるの?
ってなところかなぁ?
終了行:
* HDD の 4KB セクタ化による影響 [#y5e39478]
HDD のセクタサイズの変更は私としてはかなりショッキングな...
「自分の手の届かない所なので,ジタバタしてもしょうがない...
で,「想像がつかない」人のためのドキュメントがこちら.
[http://bigsector.org/IDEMA_Long_Data_Block_WhitePaper_6_...
例によって http://bigsector.org/ 上のもの.
ざっと目を通してもらえばわかるけど,「上へ下への大騒ぎ」...
** エミュレーションモードとネイティブモードのセクタ対応 [...
はっきりとは書いてないようだけど,おそらくはもっとも単純な
|4KBセクタ|512Bセクタ|h
|0|0-7|
|1|8-15|
|2|16-23|
|…|…|
こんな対応なのだろう.
** CHS パラメータの呪い [#a4f1d8eb]
Windows Vista では違うようだけど,それより前の Windows で...
現代の HDD ではトラックあたりのセクタ数を外周と内周で変え...
ここで思い出してほしいのは,(ATA HDD では)ヘッド数・セ...
たとえばこんな感じ.
# fdisk -l /dev/hda
Disk /dev/hda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x6f08c061
Device Boot Start End Blocks Id ...
/dev/hda1 1 30401 244196001 83 ...
ということは,シリンダ境界は,512B セクタの世界では
> 255 x 63 = 16065 セクタ
単位になることになり,8 で割り切れる数にはなりにくそうで...
ということは,512B セクタの世界で何も考えずにパーティショ...
** 4KB セクタの一部書き換え [#f731e88e]
エミュレーションモードで 4KB セクタの中の一部の 512B セク...
+ 該当する 4KBセクタをいったん読み込んで
+ バッファ上で 512B セクタを書き換えて
+ ディスクに書き戻す
ような操作を行う必要があるはずである.
ということは,たとえエミュレーションであったとしても,こ...
で,先の 4KB セクタとパーティション先頭が合わない状態は,...
** ネイティブモードでは [#wb79e648]
今まではエミュレーションモードでの話だったのだけど,4KB ...
- そもそもパーティションテーブルの仕様はどうなるのか
- ファイルシステムの仕様もどうなるのか
というあたりからして謎だらけ,というか未定だったりするわ...
一番単純なのは
> 論理仕様は 512B セクタで定義して,4KB セクタでは「まと...
というところなんだろうけど.
あと
- SATA ホストアダプタ
も対応できるのかなぁ?
ATA コマンドとは別に DMA 転送長も設定できるようなデバイス...
** まとめると [#y3d33c56]
:エミュレーションモード|
従来のシステムで動作するんだろうけど,パーティション切り...
:ネイティブモード|
ディスク上のフォーマットがどうなるのか全く見えない.
そもそも今の SATA ホストアダプタで対応できるの?
ってなところかなぁ?
ページ名:
-->