ハードウェア

SSDの読み書きはどのように行われるのか


半導体メモリにデータを保存するSSDは読み書き速度や衝撃耐性でHDDよりも優れています。そんなSSDの仕組みや特性について、データシステム研究家のピーター・ボンチ氏らが解説しています。

Database Architects: What Every Programmer Should Know About SSDs
https://databasearchitects.blogspot.com/2021/06/what-every-programmer-should-know-about.html


HDDにランダムアクセスを行うには、磁気ヘッドを磁気ディスクの正しい位置に物理的に移動させる必要があり、この動作には10ミリ秒程度かかります。これに対しSSDのランダムアクセスはフラッシュメモリに行うため100分の1程度の時間で済みます。

SSDは大きなファイルをひとかたまりのまま保存するわけではなく、内部では保存の最小単位に分離して複数のフラッシュチップに渡って保存されており、そしてシーケンシャルアクセスで全てのフラッシュチップを利用できるようにハードウェアプリフェッチャーが用意されています。とはいえ、フラッシュチップ単体で見たときでもシーケンシャルアクセスとランダムアクセスに大きな違いがあるわけではなく、ほとんどのSSDがランダムアクセスで最高速度を達成可能です。これを行うには全てのフラッシュチップをビジー状態に保つため、何百ものランダムIO要求を同時に管理する必要がありますが、これは多数のスレッドを起動させるかlibaioなどの非同期I/Oインターフェースを使用することで実現できるとのことです。

HDDとSSDの違いはもう1つ。HDDは1つだけの磁気ヘッドで磁気ディスクに読み書きを行っているので、シーケンシャルアクセスに対してのみ良好に動作するのに対し、SSDは数十または数百のフラッシュメモリチップを使って並列アクセスを行うので2種類のアクセス方法の両方が良好に働くという点。

SSDの書き込み速度は読み込み速度よりも10倍程度遅く、約1msかかってしまうとのこと。コンシューマーSSDでは書き込み後にsync/flushコマンドを発行することでレイテンシを測定できます。書き込み時の高いレイテンシを補って高い書き込み帯域幅を実現するため、書き込みでも読み込みと同様に複数のフラッシュチップに同時にアクセスするという仕組みを利用します。書き込みキャッシュは非同期でページを書き込むことができるため、良好なパフォーマンスを得るために同時に多くの書き込みを管理する必要はありません。ただし、書き込みは読み取りよりも10倍長いフラッシュチップを占有するため、レイテンシを完全になくすことはできません。


SSDは非常に安価・高性能に進化しています。ボンチ氏らはどのように性能を実現しているのか、より詳しいチュートリアルも紹介しています。

この記事のタイトルとURLをコピーする

・関連記事
SSDの性能を比較する上で考慮すべき3つのポイント - GIGAZINE

HDD・SATA SSD・NVMe SSD・Optane SSDで「レイテンシ」にどれほど差があるのか? - GIGAZINE

仮想通貨のマイニング需要でHDD・SSDが品薄状態に陥っている - GIGAZINE

スマートフォンのストレージは256GBに到達、なんとSSDよりも高速に - GIGAZINE

in ハードウェア, Posted by log1p_kr

You can read the machine translated English article here.