4kの物理セクターサイズ(アドバンストフォーマット)の4 TBのハードディスクがあり、それを2つのSATAホストコントローラー(1つは内部、もう1つはUSBエンクロージャー)に接続しました。(古い、2010年頃)では、512Bの論理セクターサイズとして表示されますが、その物理セクターは4096バイトであると報告されます。最近のUSBエンクロージャでは、4096Bの論理サイズと物理サイズがあると報告されています。
# internal host controller
sd 4:0:0:0: [sdd] 7814037168 512-byte logical blocks: (4.00 TB/3.63 TiB)
sd 4:0:0:0: [sdd] 4096-byte physical blocks
# USB enclosure
sd 18:0:0:0: [sdd] 976754646 4096-byte logical blocks: (4.00 TB/3.63 TiB)
「内部」コントローラーは、以前に見た動作を示します。これは、通常「512e」と呼ばれ、ドライブのファームウェアが物理的にセクターを書き込まない場合でも、512セクターのLBAアドレッシングをエミュレートします。オペレーティングシステム(および管理者)は、(小さな)書き込みコマンドをグループ化して、残りを読み取る必要がある物理セクターの一部への書き込みにフォールバックするのではなく、ディスクがセクター全体を上書きできるように、パーティションを整列させることができますコンテンツの最初。
ただし、ドライブ(USBエンクロージャ)で「4kネイティブ」の動作を見るのは初めてで、ドライブのエミュレートされた512Bエミュレーションに加えて、エンクロージャが4096Bアドレス指定をエミュレートしていると最初に考えました。
これが発生するのは、4kの論理セクターに登録されたUSBストレージ機能があるWeb検索で見つけることができます。512eを超える4kをエミュレートするため、MBR + FAT32 usb大容量ストレージのみをサポートするレガシー/組み込みデバイス(スマートTVなど)で大容量ドライブを使用できるように、MBRパーティションテーブルを使用できると思います。
メーカーに連絡した後、彼らはドライブが実際に非エミュレート(ネイティブ)4kモードで動作していると主張し、USB SATAコントローラーもエミュレーションをまったく行っていません。これには、ドライブのファームウェアがホストコントローラーが4KBのセクターサイズのアドレス指定をサポートしているかどうかを検出する必要があります。これについては、SATA規格の公開ドキュメントには何も見つかりませんでした。だから私は尋ねます:
- SATAコントローラーで「4096バイトの論理ブロック」を見たことがありますか?
- ドライブは、オンデマンドでのエミュレーションの有効化/無効化を実際にサポートしていますか?もしそうなら、
- この決定はどのように機能しますか?
- フラグを介してドライブで上書きできますか?
- ドライバー/フラグを介してホストコントローラーでオーバーライドできますか?