Design Tradeoffs for SSD Performance

August 23, 2021

HDDの処理性能を測るためのシミュレーションソフトDiskSimをSSD向けに改造し、SSDの設計における選択肢の分類と選択にともなうトレードオフを報告する。 主要な選択肢は、論理アドレスと物理アドレスのマッピング、ページサイズ、オーバープロビジョニング、複数のpackageでcontrollerに接続するピンを共有するgangingがある。

マッピングによる処理性能は、論理アドレス空間をどの物理的な部品にマッピングするかに依存する。 下の図は、想定するSSDとflash packageである。 packageの2つのダイは、同時にそれぞれ別の処理を実行できる。 連続する論理アドレスを複数のパッケージをまたいで割り当てれば負荷分散できるが、複数のダイにアクセスする操作の数が増える。 logic package

論理的なページサイズの大きさの幅は、flashのページサイズの4分の1からブロックまである。 論理的なページサイズをflashのブロックと同サイズに大きくとれば、書き込み前に消去するサイズと書き込みの単位が同じになり、消去処理を単純にできる。 しかし、ページより小さい書き込みのケースが増え、そのときに変更されていないデータのread-modify-writeが発生する。

オーバープロビジョニングは、フォアグラウンドでの書き込み前消去を減らしたり、書き込めなくなったブロックを置き換えたりするために、容量の一部をデータの保存に使わずに確保しておく技術である。 このような利点はあるが、確保する分だけデータの保存に使える容量が減る。

gangingは、controllerに接続するピンを複数のpackageで共有する技術であり、packageの数に対して配線を疎にできる。 しかし、packageでバスを共有するため、処理の並列度が下がってしまう。

論文はこちらからダウンロードできます。