私は、この答えを明確にするためにいくつかの背景情報が役に立つかもしれないと決めましたが、あなたが見ることができるように、私は少し強迫神経症になってしまったので、あなたは最後までスキップして、必要に応じて戻った方がいいかもしれません。私は少しは知っていますが、私はS.S.D.の専門家ではありませんので、誰かが間違いを見つけたらEDITしてください。)
背景情報。
S.S.D.とは何か:
S.S.D.またはソリッドステートドライブとは、可動部分のないストレージデバイスです。S.S.D.という用語は、ハードドライブの代替として機能することを目的としたナンドフラッシュベースのソリッドステートドライブを指すことが多いですが、実際にはS.S.D.の1つの形態にすぎず、最も一般的なものですらありません。S.S.D.の最も一般的なタイプは、USBスティック(フラッシュドライブ)やメモリカードのようなナンドフラッシュベースのリムーバブルメディアですが、S.S.D.と呼ばれることはほとんどありません。S.S.D.S.D.はRAMベースのものもありますが、ほとんどのRAMドライブは物理的なハードウェアではなく、ソフトウェアで生成されたものです。
なぜハードドライブの代替として動作するように意図されたNand-flash S.S.D.s.が存在するのか:
オペレーティングシステムとそのソフトウェアを実行するためには、高速な記憶媒体が必要です。これがRAMの出番ですが、歴史的にRAMは高価で、CPUは大量のデータを処理することができませんでした。オペレーティングシステムやプログラムを実行すると、現在必要とされているデータの一部がRAMにコピーされます。遅いストレージデバイスからラムにデータがコピーされるのを待たなければならないため、ボトルネックが発生します。すべてのナンドフラッシュS.S.D.が従来のハードドライブよりも優れたパフォーマンスを発揮するわけではありませんが、アクセス時間、読み取り速度、書き込み速度を高速化することでボトルネックを軽減することができます。
Nand-flashとは:
フラッシュストレージは、磁気ではなく電気を使ってデータを保存する記憶媒体です。Nand-flashはNANDゲートウェイを利用したフラッシュストレージです。ランダムアクセスであるAノーフラッシュとは異なり、ナンドフラッシュは順次アクセスされます。
**Nand-flash S.S.D.s.はどのようにデータを保存するのですか?磁気を利用してデータを保存するハードドライブとは異なり、フラッシュメディアは電気を利用しています。また、個々のページを消去することはできず、ブロック単位で消去する必要があります。すでに使用されているブロックにデータを書き込むことはできないので、(中のすべてのページが使用されていなくても)まずブロック全体を消去してから、空白になったブロックのページにデータを書き込むことができます。問題は、廃棄したくないデータも含めて、すでに使用されているページのデータが失われてしまうことです。この既存のデータが保持されるのを防ぐためには、ブロックの消去を実行する前に、どこか別の場所にコピーされなければなりません。このコピー処理はコンピュータのオペレーティングシステムによって実行されるのではなく、ガベージコレクションとして知られている機能によってデバイスレベルで実行されます。
ハードドライブでは、データを保存するために磁気プレートが使用されます。レコードのように磁気プレートにはトラックがあり、これらのトラックはセクタと呼ばれるセクションに分割されています。セクターには一定量のデータを格納することができます(通常は512バイトですが、新しいものでは4KBのものもあります)。ファイルシステムを適用すると、セクタはクラスタにグループ化され(指定したサイズに基づいて、割り当てサイズやクラスタサイズと呼ばれる)、ファイルはクラスタにまたがって書き込まれます。また、セクタを分割して、指定したセクタサイズよりも小さいサイズのクラスタにすることも可能です。クラスタ(または複数)にまたがってファイルが書き込まれた後、クラスタ内で使用されていないスペースは使用できないため、次のファイルは新しいクラスタで開始されます。多くの使用不可能なスペースを避けるために、一般的には小さいクラスタサイズを使用しますが、これは大きなファイルを書き込むときのパフォーマンスを低下させる可能性があります。Nand-flash S.S.D.s.には磁気プレートがなく、メモリブロックを通過する電気を使用しています。ブロックはページを含むセルで構成されています。ページの容量はX(通常は4KB)で、ページ数によってブロックの容量が決まります(通常は512KB)。SSDでは、ページはハードドライブのセクタに相当し、どちらもストレージの最小の分割を表すからです。
ウェアレベリングとは何か:
Nand-flashストレージブロックは、限られた回数しか書き込んだり消去したりできません(ライフサイクルと呼ばれています)。ドライブの容量減少(デッドブロック)を防ぐためには、ブロックをできるだけ均等に消耗させることが重要です。ライフサイクルが限られていることは、Nand-flash ベースの S.S.D.を使用している場合、多くの人がオペレーティングシステムにページファイルやスワップパーティションを持たないことを推奨している主な理由でもあります(デバイスからラムへのデータ転送速度が速いことも、この推奨の主な要因ですが)。
**オーバープロビジョニングとは何ですか? Nand-Flashベースのストレージデバイスは、以下のように主張しています。を使用するためのゴミ処理のための空のブロックがあることが保証されているように、それらがあるよりも小さいです。動的オーバープロビジョニングと呼ばれる第二の種類のオーバープロビジョニングがあり、これは単に示された空き領域内の既知の空き領域を参照します。ダイナミック・オーバー・プロビジョニングには、オペレーティング・システム・レベルとドライブ・コントローラ・レベルの2種類があります。オペレーティングシステムレベルでは、Trim を使用してブロックを解放し、すぐに書き込めるようにします。コントローラレベルでは、未割り当てのドライブスペース(パーティション分割されていない、ファイルシステムがない)を使用することができます。より多くの空きブロックを持つことで、すぐに書き込みができるため、ドライブを最高のパフォーマンスで動作させることができます。また、Nand-flash S.S.D.はデータの読み書きにシーケンシャルアクセスを使用するため、ブロックが連続して配置されている可能性が高くなり、アクセス時間が短縮されます。
書き込み増幅とは:
Nand-flashメディアでは、書き込みを行う前にブロックを消去する必要があるため、消去されていないブロック内のデータは、ゴミ処理によって新しいブロックにコピーされなければなりません。このような追加の書き込みは、書き込み増幅と呼ばれています。
Trimとは何か:
オペレーティングシステムは、従来のハードドライブを念頭に置いて構築されています。従来のハードドライブは、データを直接上書きすることができることを覚えておいてください。ファイルを削除すると、オペレーティングシステムはそのファイルを削除したものとしてマークしますが(上書きしても問題ありません)、書き込み操作が行われるまでデータは残っています。Nand-flashベースのS.S.D.S.D.では、まずデータを消去する必要があるため、これが問題となります。消去はブロックレベルで行われるため、消去されていないデータが追加されている可能性があります。ゴミ処理は、削除のためにアップされていない任意のデータを空のブロックにコピーし、問題のブロックを消去することができます。これはすべて時間がかかり、不必要な書き込み(書き込み増幅)が発生します。これを回避するために、Trimと呼ばれる機能が作られました。Trimはオペレーティングシステムに、書き込み操作を要求していない期間中に、オペレーティングシステムが削除するようにマークしたデータを含むページのあるブロックを消去するように指示する力を与えます。ガベージコレクションがそれを行い、結果としてブロックが解放されるので、最初に消去する必要のないブロックへの書き込みが発生し、プロセスを高速化し、書き込みの増幅を最小限に抑えることができます。これはファイルベースではなく、Trim は論理ブロックアドレッシングを使用します。L.B.A.は消去するセクタ(ページ)を指定し、消去はブロックレベルで行われます。
The Answer To Your Question “Disadvantages of partitioning an SSD?
ラムベースのS.S.D.s:
ランダムアクセスなので、デメリットは全くありません!
Nand-flash ベースの S.S.D.s:
デメリットといえば、私の頭に浮かぶのは以下の点だけです。
1.ウェアレベリングでは、書き込み操作がより小さなスペースに分散されるため、遊べる空きスペースが少なくなります。
ハードドライブと同様に、NAND-FLASH S.S.D.はシーケンシャルアクセスなので、追加パーティションに書き込んだり読み込んだりするデータは、通常パーティションに空き領域を残しているため、シングルパーティションに書き込んだ場合の「かもしれない」データよりも遠くになってしまいます。これにより、追加パーティションに保存されているデータへのアクセス時間が長くなります。
総容量が少なくなると、断片化したファイルを書き込む可能性が高くなります。パフォーマンスへの影響は小さいですが、一般的にはドライブを消耗させるので、ナンドフラッシュS.S.D.をデフラグするのは良くないと考えられていることを覚えておいてください。もちろん、使用しているファイルシステムによっては、断片化の量が極端に少なくなるものもありますが、それは、ファイルをあちこちにダンプするのではなく、可能な限り全体として書き込むように設計されているからです。
複数のパーティションを持っていても問題ないと思いますが、書き込みが多いパーティションと少ないパーティションがある場合、ウェアレベリングが気になるかもしれません。あなたが使用する予定のないスペースを分割しない場合は、代わりに動的なオーバープロビジョニングのためにそれを残しておくと、ブロックを解放し、シーケンシャルなデータを書き込むことが容易になるので、パフォーマンスが向上する可能性があります。しかし、オーバープロビジョニング用のスペースが必要になる保証はありません。
このスレッドの他の何人かの人が、パーティショニングがダイナミックなオーバープロビジョニングに対する Trim の貢献にどのように影響するかについての議論を持ち出しています。私の理解では、TRIM は削除のフラグが立っているデータを持つセクタ(ページ)を指摘するために使用され、ガベージディスポーザがそれらのブロックを自由に消去できるようにしています。この空き領域は、そのパーティション内でのみダイナミックオーバープロビジョニングとして機能します。他のパーティションはそれぞれのファイルシステムを持っています。他のパーティションは独自のファイルシステムを持っています。しかし、オーバープロビジョニングという考え方は、ファイルシステムを持っていない場所にデータが書き込まれたり、ドライブの容量に表示されたりするので、私は完全に間違っているかもしれません。このことから、おそらくオーバープロビジョニングスペースは、ファイルシステム内のブロックへの最終的な最適化された書き込み操作の前に、一時的に使用されるのではないかと考えさせられます。もちろん、ファイルシステム内のダイナミックなオーバープロビジョニングへの Trim の貢献は一時的なものではないでしょう。少なくとも私の理論ではそう考えています。filesytems についての私の理解が間違っているのかもしれません。これについて詳しく説明しているリソースを見つけられませんでした。