AFT

Last-modified: 2012-12-14 (金) 11:42:49

Advanced Format / Advanced Format Technology(AFT) とは?

  • アドバンスド・フォーマットとは物理セクタのサイズを大きく(512Bytes→4096Bytes)したものです。
  • これにより、プラッタ容量を増やし(約10%)、エラー訂正の精度を高めることができるそうです。
  • 論理セクタサイズ = PCとHDDとのインターフェース間は512Bytesのままの製品しかありません(2012/01現在)。
  • 2012年以降に新たに発表される新機種からは、業界団体の取り決めにより、従来機種のマイナーチェンジ版は除き、すべてアドバンスド・フォーマット仕様になるそうです。

アライメント調整とは?

  • アドバンスド・フォーマットには、OSがアクセスする単位と物理セクタ位置のズレが生じると読み書きのアクセス速度が遅くなる特性があります。
  • そのため、従来はほとんど気にされなかったアライメント調整(パーティション位置の調整)が必要になります。
  • アドバンスド・フォーマットの「フォーマット」という名称から誤解されがちですが、フォーマットではなくパーティションの位置が問題です。
  • アライメント調整さえしておけば他のどんなOSでも使えます。どのOSでアライメント調整してもかまいません。
  • WindowsならVista以降・ubuntu Linuxでは10.04以降では、それぞれ標準的なフォーマット機能やプログラムでアドバンスド・フォーマットに対応していて、わざわざアライメント調整をする必要がありません。
  • 以下の図は【4KiB】物理セクタ拡大HDDを語るスレ part2【AFT】より
■ラージセクタのイメージ
  ┳━━━━━━━┳━━━━━━━┳━━━━━━━┳ ←OS側
  ╋━━━━━━━╋━━━━━━━╋━━━━━━━╋ ←アロケーションユニット4KiB
  ╋━━━━━━━╋━━━━━━━╋━━━━━━━╋ ←セクタサイズ4KiB
  ┻━━━━━━━┻━━━━━━━┻━━━━━━━┻ ←HDD側
■AFTのイメージ
◇アライメント一致の場合
  ┳━━━━━━━┳━━━━━━━┳━━━━━━━┳ ←アロケーションユニット(4KiB)
  ╋┳┳┳┳┳┳┳╋┳┳┳┳┳┳┳╋┳┳┳┳┳┳┳╋ ←OSから見たセクタ(512B)
  ╋┻┻┻┻┻┻┻╋┻┻┻┻┻┻┻╋┻┻┻┻┻┻┻╋ ←論理セクタ(512B)
  ┻━━━━━━━┻━━━━━━━┻━━━━━━━┻ ←ディスク上の物理セクタ(4KiB)
◇アライメント不一致の場合(WindowsXPなど)
┏━━━━━━━┳━━━━━━━┳━━━━━━━┳━ ←アロケーションユニット(4KiB)
┣┳┳┳┳┳┳┳╋┳┳┳┳┳┳┳╋┳┳┳┳┳┳┳╋┳ ←OSから見たセクタ(512B)
  ╋┻┻┻┻┻┻┻╋┻┻┻┻┻┻┻╋┻┻┻┻┻┻┻╋ ←論理セクタ(512B)
  ┻━━━━━━━┻━━━━━━━┻━━━━━━━┻ ←ディスク上の物理セクタ(4KiB)
  • WindowsXPで起動ドライブにしない場合は、全体で拡張パーティションひとつ・論理ドライブひとつにすれば、偶然ですがズレがない状態になります。
  • WindowsXP・Windows7・Linux・FreeBSDなど、どのOSで・どんな方法でパーティション作成(アライメント調整)しても、そのパーティションを消さない限り、他のOSでもそのまま使えます。
  • このwikiは自作PC板専用のものなので、外付機器に関してはハードウェア板で情報を集めて下さい。
    • 外付機器に入れるHDDでもアライメント調整をするならマザーボードのSATAポートに直接接続するのが望ましいです。
    • USB2.0の外付けに入れる場合は、USB2.0の転送速度で律速されるので、アライメントズレは体感できないことがほとんどです。

ドキュメント・ツール等

IDEMA (業界団体)
Advanced Format Documents
Western Digital
Advanced Format Software
Seagate
独自のSmart Align機能を備えていて専用のフォーマットツールは出していないようです。
SeagateOEMのCFD青箱
Smart Align機能を省略したAFTドライブにCFD製のアラインツールを添付。
HGST (Hitachi)
Hitachi Align Tool
Samsung
Samsung Advanced Format Drive Download
  • Western Digital・HGST・Samsungのツールについて
    • パーティション先頭位置が8の倍数になっていない場合に、位置をずらせて合わせるものです。
    • パーティションはあらかじめNTFSでフォーマットしておく必要があります。多分、他のファイルシステムのフォーマットには対応していません。
    • 空っぽの状態で実行すると短時間で終わります。2TBで約10~20分程度?
    • 既にファイルが入っている状態だと時間がかかります。所要時間は格納済みファイルの合計サイズにもよりますが2TBの場合、最大で12時間程度?
    • パーティション位置を合わせ直す必要がない場合に実行しても、プログラムは動かす対象がないと表示するだけで何もせずにそのまま終了するでしょう。
    • 複数のパーティションが入り組んだややこしい切り方をしている場合はちゃんと判定できないかもしれません。
    • ファイルが入っているままで実行したら中身が消えてしまったというような報告は、2011年2月現在ではありません。
  • CFD製のツールについて

Linuxのコマンドラインで先頭に2048セクタの余白を設けて位置調整した2TBのパーティションをひとつ作る例

  • 今あるパーティションテーブルを消す
    dd if=/dev/zero of=/dev/sdX count=4096
  • NTFS/mbr形式のパーティションテーブル
    parted -s /dev/sdX mklabel msdos
    parted -s /dev/sdX mkpart primary ntfs 2048s 3907026943s
    mkfs.ntfs -f /dev/sdX1 -L jisakupc
  • NTFS/gpt形式のパーティションテーブル
    parted -s /dev/sdX mklabel gpt
    parted -s /dev/sdX mkpart primary ntfs 2048s 3907026943s
    mkfs.ntfs -f /dev/sdX1 -L jisakupc
    • ※WindowsXPでは特殊なドライバがないとGPT形式のパーティションテーブルを持ったディスクは扱えません
  • ext4/mbr形式のパーティションテーブル
    parted -s /dev/sdX mklabel msdos
    parted -s /dev/sdX mkpart primary ext4 2048s 3907026943s
    mkfs.ext4 -q /dev/sdX1 -L jisakupc
  • ext4/gpt形式のパーティションテーブル
    parted -s /dev/sdX mklabel gpt
    parted -s /dev/sdX mkpart primary ext4 2048s 3907026943s
    mkfs.ext4 -q /dev/sdX1 -L jisakupc
  • 2TBなら本来3907029168セクタまで使えるけど、末尾は適当に丸めた。
  • 複数のパーティションを作りたければ man parted
  • パーティションテーブルの出来具合を確認するには
    partx /dev/sdX