検索
連載

使い始めるとSSDの性能は低下する(前編)福田昭のストレージ通信(12)(2/2 ページ)

NANDフラッシュメモリを内蔵する全てのSSDに共通の特性として、SSDは使い始めると必ず性能が低下する。今回は、性能低下が起こる過程を見ていきたい。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

書き込みの履歴が定常状態の性能を左右

 定常状態といっても、FOB状態からデータをSSDに保存するシナリオによって、その様相は大きく違う。例えばビデオファイルのような、非常に大きなボリュームのデータを保存し続けた場合は、遷移状態での性能低下がゆるく、しかも、比較的短い時間(トータルの書き込み時間)で定常状態に達する。そして定常状態での性能は比較的高い。これに対し、文書ファイルのような、非常に小さなボリュームのデータを保存し続けた場合は、遷移状態での性能低下が著しく、しかも、定常状態に達するまでの時間が長い。

 これらの違いは、NANDフラッシュメモリの特徴と大きく関わっている。NANDフラッシュメモリは「ブロック」と呼ぶ比較的大きな単位で消去(イレ―ズ)動作を管理しており、「ページ」と呼ぶ比較的小さいが、HDDのセクタ(512バイト)よりも大きな単位でプログラム(書き込み)動作とリード(読み出し)動作を管理しているからだ。

 ビデオファイルのような大きなデータは1個のブロック全体に書き込んでも収容しきれず、数多くのブロックの全てのページにデータを書き込むことになる。そうすると書き込まれたページの数は多いものの、メモリマップ全体でみるとまだ、数多くの空きブロックが残っている。

 これに対して文書ファイルのような小さなデータは、書き込んでも1個のブロックのわずかな割合しか占有しない。100個の文書ファイルを、100個のブロックに割り当てたとしよう。全体のボリュームはビデオファイルよりもはるかに小さいものの、ビデオファイルよりも多くのブロックをデータ保存に使うことになってしまう。

 この違いを具体的な数値で見てみよう。ビデオファイル1本の大きさを100Mバイト、文書ファイル1本の大きさを50Kバイトとする。文書ファイルは2000本あるとしよう。文書ファイルの総量は100Mバイトで、ビデオファイル1本と同じになる。NANDフラッシュメモリのページサイズは16Kバイト、ブロックは64ページで構成されている。すると1ブロックの容量は1Mバイトとなる。

 この条件でFOB状態のSSDに1本のビデオファイルを書き込むと、100個のブロックにちょうど収まる(注:ここでは誤り訂正符号などは考慮しない)。これに対して文書ファイル1本を1個のブロックに割り当てていくと(これが最も単純で書き込むときの性能が高い)、2000個のブロックにデータが書き込まれる。ここでNANDフラッシュメモリの記憶容量を2Gバイト(16Gビット)とすると、全体のブロック数は約2000個になる。つまり、ビデオファイルを保存したときは、未使用のブロックが1900個ほど残っているのに対し、同じ容量の文書ファイルを保存すると、未使用のブロックがほぼゼロになる。

 未使用のブロックがゼロになったNANDフラッシュメモリにデータを書き込もうとするには、ブロックの中の空き領域を確認する必要がある。この手間が、書き込み性能を著しく下げてしまう。

後編に続く

筆者紹介

福田 昭(ふくだ あきら)

フリーランスのテクノロジージャーナリスト/アナリスト。



Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る