ライトアンプリフィケーション
フラッシュメモリの特質として、メモリにあるデータを直接「書き換える」こと(オーバーライト)が原理上不可能であり、これはハードディスクドライブとは異なっている。SSDにデータが書き込まれるとき、該当するフラッシュメモリのセルはすべて「消去」されており、そのようなページ(通常サイズは4KiB)に対して一度にデータが書き込まれる。
SSD内に存在する、フラッシュメモリとインターフェースをホストシステムとともに管理するSSDコントローラはフラッシュトランスレーションレイヤー(FTL)に付随するロジカルブロックアドレッシング(LBA)と呼ばれる方法を使用する。
新しいデータが既に書き込まれた古いデータと置き換わって入ってくるとSSDコントローラは新しいデータを新しい場所に書き込み、新しい物理的な場所を指すように論理マッピングを更新する。古い場所にあるデータは既に有効ではないため、その場所を再び書き込む前に消去する必要がある。
フラッシュメモリは、限られた回数しかプログラム・削除できない。これは、フラッシュメモリの寿命を通じて維持できる最大プログラム/消去サイクル数 (P/E サイクル) と呼ばれることがある。シングルレベルセル (SLC) フラッシュは、より高い性能とより長い耐久性を目指して設計されており、通常、5万~10万サイクルの間で動作させることができる。2011年現在、マルチレベル・セル(MLC)フラッシュは低コスト・アプリケーション向けに設計されており、サイクル数は通常3,000~5,000と大幅に削減されている。書き込み増幅率が低ければ低いほど、フラッシュメモリのP/Eサイクルが減少し、SSDの寿命が延びるため、より望ましいとされている。
Unfortunately, the process to evenly distribute writes requires data previously written and not changing (cold data) to be moved, so that data which are changing more frequently (hot data) can be written into those blocks. Each time data are relocated without being changed by the host system, this increases the write amplification and thus reduces the life of the flash memory. The key is to find an optimum algorithm which maximizes them both.