パーティション制限を MB 単位の値に設定するのが良い方法だと思われるのはなぜですか?

パーティション制限を MB 単位の値に設定するのが良い方法だと思われるのはなぜですか?

最近、私は新しいハードウェアに移行しましたが、物事がどのように変化し、現在どのように機能しているかを知ることは、喜びと苦労の両方を伴います。

私が出会ったときgparted を使用した再パーティション化タスクそれパーティション制限をMB単位の値に設定することを自動的に選択しましたそのため、パーティション間に小さな隙間が残ることがあります。

今私は疑問に思う。

パーティションの開始位置と終了位置は、単なる任意の数値に過ぎないため(特に、低レベルのストレージコントローラを内蔵したSSDを考慮すると)、

なぜドライブに隙間を残すのが良い選択のように思えるのでしょうか?

乾杯

答え1

これはパーティションのアラインメントに関係しています。基本的に、ハード ドライブは内部でセクターに分割されています。ハード ドライブが操作を実行するときは常に、セクター全体を一度に処理します。つまり、セクター内に格納されているデータを読み取るときは、セクター全体を読み取る必要があります。データが複数のセクターに分割されている場合は、各セクター全体を読み取る必要があります。パーティション上のファイル システムは、使用可能なスペースをブロックに割り当てます (ブロックのサイズは通常、ファイル システムの作成時に調整可能なパラメーターです。主に小さなファイルで構成される FS の場合は小さなブロック サイズを使用し、主に大きなファイルの場合は大きなブロック サイズを使用します。目的は、無駄なスペースを最小限に抑えることです。ファイルがブロック サイズより小さい場合、ブロックの残りの部分は無駄になりますが、ブロック サイズが小さいほど、すべてのブロックに対応するテーブルを大きくする必要があります)。

基本的に、ファイルシステム ブロックとディスク セクターを揃える必要があります。つまり、一方が他方に余りなく収まる必要があり、さらに重要なのは、同じ場所から開始して、部分的な重複がないようにすることです。セクター サイズが 4kb のディスクがあり、ファイルシステムが 1kb ブロックであるとします。パーティションがセクターの先頭からの小さなオフセットで始まる場合 (たとえ数バイトであっても)、ファイルシステムの 4 つに 1 つのブロックは実際には 2 つのセクターに分割されるため、そのブロックを操作するときは常にディスクの両方のセクターの読み取り/書き込みを行う必要があります。これは 25% のオーバーヘッドであり、すぐにパフォーマンスが大幅に低下する可能性があります。FS 割り当てブロック サイズが HD セクター サイズと同じ (両方とも 4k は不合理ではありません) で、このオフセットがある場合、すべての読み取り/書き込みでこの問題が発生し、パフォーマンスに大きな影響を与えます。

これを回避するために、パーティションの開始をメガバイト境界に慎重に揃えます (メガバイトは、数年後にどんなに巨大なドライブが使われても、ブロック/セクター サイズの適切な倍数であるはずであるため)。パーティション サイズがきちんと一致せず、メガバイト境界で終了しない場合、ディスク上に小さな「ギャップ」が生じる可能性があります。ディスクの最初のいくつかのセクターは他の目的のために予約されているため、ディスクの開始には常にギャップが残ります。

https://www.thomas-krenn.com/en/wiki/パーティションアラインメントこの問題をより具体的に詳しく説明しています。しかし、指摘されているように、最新のディスクのサイズと比較すると、失われるスペースは非常にわずかです。

答え2

ドライブにこれらのギャップを残しておくことがなぜ良い選択であると思われるのでしょうか?

これは「ガード バンド」の使用法のようです。
パーティションの最後にある最後の 1 つか 2 つのトラックが (意図的に?) 割り当てられていないのを時々見かけます。
理論的には、それらは必要ないはずです。

ハード ディスク ドライブの場合、パーティションはシリンダ境界から始まるように割り当てられていました。このような割り当てにより、パーティション内のシーク回数が最小限に抑えられ、全体的なアクセス時間が改善されます。
しかし、ゾーン ビット記録を使用する最近の HDD では、パーティション プログラムが実際のドライブ ジオメトリや物理的なシリンダの位置を認識しないため、「シリンダ アラインメント」は基本的に意味がありません。

ソリッド ステート ドライブの場合、パーティションは整数個の消去ブロックを占めるように割り当てられる必要があります。NAND フラッシュ チップは R/W セクターとページのサイズと消去ブロックのサイズを 2 の累乗で設定するため、1 メガバイトなどの大きな 2 の累乗単位で SSD パーティションのサイズと位置合わせを行うと、そのようなページ/ブロックの整数個が含まれると想定されます。

関連情報