このブログは、512バイトセクタディスクから4096バイトセクタディスクへの移行が起こった理由を理解するのに役立ちます。このブログでは、OSのインストールに4096バイト(4K)セクターのディスクを選択すべき理由についても答えています。このブログでは、最初に移行の必要性を理解するためのセクターレイアウトについて説明し、次に移行の背後にある理由を説明し、最後に512バイトのセクタードライブよりも4Kセクタードライブの利点について説明します。
セクターは、ハード ディスク ドライブの最小ストレージ ユニットです。これは、ハード ディスク ドライブ上のトラックのサブディビジョンです。セクター サイズは、ハード ディスク ドライブでのI/O操作の基本単位を表すため、オペレーティング システムの設計において重要な要素です。Linuxでは、「fdisk -l」コマンドを使用してディスクセクタのサイズを確認できます。
図1: Linuxのディスク セクター サイズ
図 1 に示すように、この Linux システムでは、論理セクターと物理セクターの両方の長さが 512 バイトです。
セクターのレイアウトは次のように構成されています。
各セクターには一定量のユーザー データが格納されます。従来はハード ディスク ドライブ用に512バイトでした。しかし、高密度でのデータの整合性の向上と堅牢なエラー訂正機能により、新しいHDDは各セクターに4096バイト(4K)を格納するようになりました。
特定の長さのトラックに格納されるビット数は、面密度と呼ばれます。面密度の増加は、同じ物理スペースに大量のデータを保存できるだけでなく、そのメディアが動作できる転送速度も向上するため、ディスク ドライブ業界のトレンドです。面密度の増加に伴い、このセクターが消費するハード ドライブ表面のスペースはますます小さくなっています。この場合、ハード ドライブ上のセクターの物理サイズは縮小していますが、メディアの欠陥は縮小していないため、問題が発生します。ハード ドライブ セクター内のデータが消費する領域が小さい場合、エラー修正は困難になります。これは、同じサイズのメディアの欠陥があると、セクターの領域が大きいディスクよりも、セクターの領域が小さいディスク内のデータの割合が高くなる可能性があるためです。
この問題を解決するには、2つのアプローチがあります。1つ目のアプローチは、継続的なデータの信頼性を確保するために、ECCバイトにより多くのディスク領域を投資することです。しかし、ECCバイトにより多くのディスク領域を投資すると、ディスクフォーマットの効率が低下します。ディスク フォーマットの効率性は、(ユーザー データのバイト数 X 100)/ディスク上の合計バイト数として定義されます。もう1つのデメリットは、ECCビット数が多いほど、ECCアルゴリズムを処理するためにディスク コントローラーがより多くの処理能力を必要とすることです。
2つ目のアプローチでは、データ ブロックのサイズを増やし、各データ ブロックのECCバイト数をわずかに増やします。データ ブロック サイズが大きくなると、ギャップ、同期、アドレス マーク セクションなどの制御情報を格納するために各セクターに必要なオーバーヘッドの量が削減されます。セクターごとにECCバイトが増加しますが、セクターが大きくなるため、ディスクに必要なECCバイト全体は減少します。エラー訂正コードに使用されるスペースの全体的な量を減らすと、フォーマットの効率が向上し、各セクターのECCバイトが増加すると、より効率的で強力なエラー訂正アルゴリズムを使用できるようになります。したがって、より大きなセクター サイズへの移行には、信頼性の向上とディスク容量の増加という2つのメリットがあります。
スループットの観点から見ると、理想的なブロック長は、一般的なデータ トランザクションの特性サイズとほぼ同じです。今日の平均ファイル サイズは512バイトを超えていることを認識する必要があります。最近のシステムでは、従来の512バイトのセクター サイズよりもはるかに大きなブロックでデータが使用されています。ブロック・サイズが小さすぎると、トランザクション・オーバーヘッドが大きくなりすぎます。一方、ブロック長が大きい場合、各トランザクションは大量の不要なデータを転送します。
リレーショナル・データベース・ベース・システムの標準トランザクションのサイズは 4K です。ハードディスクドライブ業界では、4Kブロックの物理ブロックサイズが適切な妥協点を提供するというのが意見の一致でした。また、オペレーティング システムとプロセッサーで使用されるページング サイズにも対応します。
図-3: 4Kディスクでのフォーマット効率の向上
512バイトのセクター形式 | 4096バイト セクター形式T | |
ギャップ、同期、アドレスマーク | 15 バイト | 15 バイト |
ユーザーデータ | 512 バイト | 4096バイト |
Error-Correcting Code | 50 バイト | 100 バイト |
合計 | 577 バイト | 4211バイト |
フォーマットの効率性 | 88.7% | 97.3% |
表1:4Kディスクでのフォーマット効率の向上
図2に示すように、4Kセクターは従来の512バイトセクターの8倍の大きさです。したがって、同じデータペイロードに対して、必要なギャップ、同期、アドレスマークセクションは8倍少なく、エラー訂正コードセクションは4倍少なくなります。エラー訂正コードやその他のデータ以外のセクションに使用されるスペースの量を減らすことで、4Kフォーマットのフォーマット効率が向上します。図3と表1にフォーマット効率の向上を示しており、512バイトセクタディスクよりも4Kセクタディスクではフォーマット効率が8.6%向上しています。
図4: ディスク密度に対するメディアの欠陥の影響
図4に示すように、面密度の高いディスク上のメディア欠陥の影響は、面密度の低いディスク上のディスクよりも大きくなります。面密度が増加するにつれて、同じレベルのエラー訂正機能を保持するために、より多くのECCバイトが必要になります。4Kフォーマットでは、ECCフィールドを50バイトから100バイトに拡張するのに十分なスペースが提供され、新しいECCアルゴリズムに対応します。拡張された ECC カバレッジにより、512 バイトのセクター フォーマットに関連する 50 バイトの欠陥長を超える処理済みデータ エラーを検出して修正する機能が向上します。
4Kデータ ディスクはWindows Server 2012でサポートされていますが、ブート ディスクとしてサポートされているのはUEFIモードでのみです。Linuxの場合、4Kハード ドライブにはRHEL 6.1以上とSLES 11 SP2以上が必要です。4K起動ドライブは、LinuxのUEFIモードでのみサポートされています。4Kドライブのカーネル サポートは、カーネル バージョン2.6.31以降で使用できます。PERC H330、H730、H730P、H830、FD33xS、FD33xDカードは4Kブロック長のディスク ドライブをサポートしているため、ストレージ スペースを効率的に使用できます。4Kディスクは、上記のPERCカードをサポートするDell PowerEdgeサーバーで使用できます。
ディスク ドライブの面密度が増加した結果、ディスク上の各セクターの物理サイズが小さくなりました。ディスクの欠陥の数が同じ割合で増加しない場合、より多くのセクターが破損することが予想されるため、各セクターに対して強力なエラー訂正機能が必要になります。物理セクターが大きく、各セクターのECCバイト数が多いディスク ドライブでは、データ保護と修正アルゴリズムが強化されます。4Kフォーマットは、フォーマット効率を向上させ、信頼性とエラー訂正機能を向上させるのに役立ちます。この移行によりユーザー エクスペリエンスが向上するため、OSのインストールには4Kドライブを選択する必要があります。