この答えを明確にするためにいくつかの背景情報が役立つかもしれないと判断しましたが、ご覧の通り、少しOCDに行ったので、必要に応じて最後までスキップしてから戻ってください。私は少し知っていますが、私はSSDの専門家ではないので、間違いを見つけた人はそれを編集してください。:)。
背景情報:
SSDとは?:
SSDまたはソリッドステートドライブは、可動部品のないストレージデバイスです。SSDという用語は、ハードドライブの代替として機能することを意図したnand-flashベースのソリッドステートドライブを特に指すことを意図していることが多いのですが、実際にはSSDの1つの形式であり、最も一般的なSSDでさえありません。SSDの最も一般的なタイプは、USBスティック(フラッシュドライブ)などのnand-flashベースのリムーバブルメディア、およびメモリカードですが、SSDと呼ばれることはめったにありません。SSDはRAMベースでもかまいませんが、ほとんどのRAMドライブは物理ハードウェアではなくソフトウェアで生成されます。
Nand-flash SSDがハードドライブの代替として機能することを意図しているのはなぜですか?:
オペレーティングシステムとそのソフトウェアを実行するには、高速のストレージメディアが必要です。これがラムの出番ですが、歴史的にラムは高価であり、CPUは大量に対処できませんでした。ストレージデバイスの速度が十分でないため、オペレーティングシステムを実行したり、プログラムを実行したりすると、現在必要なデータの一部がRAMにコピーされます。遅いストレージデバイスからRAMにデータがコピーされるのを待つ必要があるため、ボトルネックが発生します。すべてのnand-flash SSDが従来のハードドライブよりも優れたパフォーマンスを実現するわけではありませんが、アクセス時間、読み取り速度、書き込み速度を高速化することでボトルネックを軽減するのに役立ちます。
ナンドフラッシュとは:
フラッシュストレージは、磁気ではなく電気を使用してデータを保存するストレージメディアです。Nand-flashは、NANDゲートウェイを使用するフラッシュストレージです。ランダムアクセスであるノルフラッシュとは異なり、ナンドフラッシュは順次アクセスされます。
Nand-flash SSDはどのようにデータを保存しますか?:
Nand-Flashストレージはブロックで構成され、これらのブロックはセルに分割され、セルにはページが含まれます。磁気を使用してデータを保存するハードドライブとは異なり、フラッシュメディアは電気を使用します。このデータは上書きできないためです。スペースを再利用するには、データを消去する必要があります。デバイスは個々のページを消去できません。消去はブロックレベルで発生する必要があります。既に使用されているブロックにデータを書き込むことはできないため(ブロック内のすべてのページではない場合でも)、ブロック全体を最初に消去する必要があります。次に、現在の空白ブロックにデータを書き込むことができます。問題は、破棄したくないデータを含め、それらのページに既にあるデータを失うことです!この既存のデータが保持されるのを防ぐには、ブロック消去を実行する前に別の場所にコピーする必要があります。
ハードドライブでは、磁気プレートを使用してデータを保存します。ビニールレコードのように、プレートにはトラックがあり、これらのトラックはセクターと呼ばれるセクションに分割されます。セクターは一定量のデータを保持できます(通常は512バイトですが、一部の新しいデータは4KBです)。ファイルシステムを適用すると、セクターはクラスターにグループ化され(指定したサイズに基づいて、割り当てサイズまたはクラスターサイズと呼ばれます)、クラスター全体にファイルが書き込まれます。セクターを分割して、クラスターをセクターサイズより小さくすることもできます。ファイルがクラスター(または複数)に書き込まれた後のクラスターで使用されていないスペースは使用できません。次のファイルは新しいクラスターで開始されます。多くの使用不可能なスペースを避けるために、人々は通常小さなクラスターサイズを使用しますが、これは大きなファイルを書き込むときのパフォーマンスを低下させる可能性があります。ナンドフラッシュSSDには磁気プレートがありません。メモリブロックを通過する電気を使用します。ブロックは、ページを含むセルで構成されます。ページにはX容量(通常4 KB)があるため、ページの数によってブロックの容量が決まります(通常512 KB)。SSDでは、ページはハードドライブ上のセクターに相当します。どちらもストレージの最小区分を表すためです。
ウェアレベリングとは何ですか?:
Nand-flashストレージブロックは、限られた回数(ライフサイクルと呼ばれる)に書き込みおよび消去できます。ドライブが容量の減少(デッドブロック)に悩まされるのを防ぐために、できるだけ均等にブロックを使い果たすことは理にかなっています。Nand-flashベースのSSDを使用している場合、オペレーティングシステムにページファイルまたはスワップパーティションがないことを多くの人が推奨する主な理由は、ライフサイクルの制限です(ただし、デバイスからRAMへの高速データ転送速度も重要です)その提案の要因)。
オーバープロビジョニングとは何ですか?:
オーバープロビジョニングは、空き容量の大きさと、表示される空き容量の大きさの違いを定義します。ナンドフラッシュベースのストレージデバイスは、ガベージを使用するために空のブロックを確保するために、それらよりも小さいと主張しています。ダイナミックオーバープロビジョニングと呼ばれる第2の種類のオーバープロビジョニングがあります。これは、表示されている空き領域内の既知の空き領域を単に参照します。ダイナミックオーバープロビジョニングには、オペレーティングシステムレベルとドライブコントローラーレベルの2種類があります。オペレーティングシステムレベルでは、Trimを使用してブロックを解放し、すぐに書き込むことができます。コントローラーレベルでは、未割り当てのドライブスペース(パーティション化されていない、ファイルシステムなし)を使用できます。空きブロックを増やすと、すぐに書き込みができるため、ドライブを最高のパフォーマンスで実行し続けるのに役立ちます。
書き込み増幅とは?:
Nand-flashメディアでは、書き込み前にブロックを消去する必要があるため、消去されていないブロック内のデータはすべて、ごみ処理によって新しいブロックにコピーする必要があります。これらの追加の書き込みは、書き込み増幅と呼ばれます。
トリムとは?:
オペレーティングシステムは、従来のハードドライブを考慮して構築されています。従来のハードドライブはデータを直接上書きできることに注意してください。ファイルを削除すると、オペレーティングシステムはそのファイルを削除済みとしてマークします(上書き可能)が、書き込み操作が発生するまでデータは残っています。ナンドフラッシュベースのSSDでは、データを最初に消去する必要があるため、これは問題です。消去はブロックレベルで行われるため、削除されていない追加データがある可能性があります。ごみ処理では、削除する必要のないデータが空のブロックにコピーされ、問題のブロックを消去できます。これにはすべて時間がかかり、不必要な書き込み(書き込み増幅)が発生します!これを回避するために、Trimと呼ばれる機能が作成されました。トリムは、SSDに伝えるパワーをオペレーティングシステムに与えます 書き込み操作を要求していない期間にオペレーティングシステムが削除済みとしてマークしたデータを含むページのブロックを消去します。ガベージコレクションはそれを行います。その結果、ブロックが解放されるため、最初に消去する必要のないブロックに書き込みが発生する可能性があります。これはファイル単位では行われません。トリムは論理ブロックアドレス指定を使用します。LBAは消去するセクター(ページ)を指定し、消去はブロックレベルで行われます。書き込みの増幅を最小限に抑えるのに役立ちます。これはファイル単位では行われません。トリムは論理ブロックアドレス指定を使用します。LBAは消去するセクター(ページ)を指定し、消去はブロックレベルで行われます。書き込みの増幅を最小限に抑えるのに役立ちます。これはファイル単位では行われません。トリムは論理ブロックアドレス指定を使用します。LBAは消去するセクター(ページ)を指定し、消去はブロックレベルで行われます。
「SSDのパーティション分割の欠点」という質問に対する回答:
RAMベースのSSD:
ランダムアクセスであるため、デメリットはまったくありません。
フラッシュベースのSSD:
私の頭に浮かぶ唯一の欠点は次のとおりです。
ウェアレベリングには、書き込み操作が小さなスペースに分散されるため、プレイできるほどの空きスペースがありません。したがって、「できます」が、ドライブ全体がドライブよりも速くドライブの一部を磨耗するとは限りません。追加パーティションで同等の摩耗を実行しない限り、単一パーティションでした(例:デュアルブート)。
ハードドライブのように、nand-flash SSDはシーケンシャルアクセスであるため、追加のパーティションで読み書きするデータは、単一のパーティションに書き込まれた場合よりもはるかに遠くなります。 。これにより、追加のパーティションに保存されているデータのアクセス時間が長くなります。
合計スペースが少ないと、断片化されたファイルを書き込む可能性が高くなりますが、パフォーマンスへの影響はわずかですが、Nand-Flash SSDはドライブを磨耗させるため、デフラグすることは一般的に悪い考えであることに注意してください。もちろん、使用しているファイルシステムによっては、断片化の量が非常に少なくなります。なぜなら、それらは、書き込み速度を上げるために場所全体にダンプするのではなく、可能な限りファイル全体を書き込むように設計されているためです。
複数のパーティションを作成してもかまいませんが、書き込みアクティビティが多いパーティションと非常に少ないパーティションがある場合、ウェアレベリングが問題になる可能性があります。使用する予定のないスペースをパーティション分割せず、代わりに動的なオーバープロビジョニング用に残す場合、ブロックの解放とシーケンシャルデータの書き込みが容易になるため、パフォーマンスが向上する可能性があります。ただし、過剰なプロビジョニングスペースが必要になることを保証するものではなく、ウェアレベリングについてポイント1に戻ります。
このスレッドの他の何人かの人々は、パーティション化がダイナミックオーバープロビジョニングへのTrimの貢献にどのように影響するかについて議論しました。私の理解では、TRIMを使用して、削除のフラグが設定されたデータを持つセクター(ページ)を指摘しているため、ごみ処理によってこれらのブロックを自由に消去できます。これらのセクターはそのパーティションのファイルシステムで使用されているクラスターの一部であるため、この空きスペースは、THATパーティション内でのみオーバープロビジョニングとして動的に機能します。他のパーティションには独自のファイルシステムがあります。ただし、データはファイルシステムを持たない場所やドライブの容量に表示されない場所に書き込まれるため、オーバープロビジョニングの全体的な考え方は少しわかりにくいため、これについてはまったく間違っているかもしれません。これは、ファイルシステム内のブロックへの最終的な最適化された書き込み操作の前に、おそらくオーバープロビジョニングスペースが一時的に使用されているのではないかと思いますか?もちろん、ファイルシステム内での動的なオーバープロビジョニングに対するTrimの貢献は、既に使用可能なスペースにあるため、直接書き込むことができるため、一時的なものではありません。少なくとも私の理論です。たぶん、ファイルシステムの私の理解は間違っていますか?これについて詳しく説明するリソースを見つけることができませんでした。