高速化の三つの課題に対する工夫と、長寿命化を図るための工夫を順に紹介していく。

高速化の工夫(1) ハードウエアで読み書き処理を実行

 一般的なストレージでは、コントローラーに汎用プロセッサーを採用している。汎用プロセッサーは多様な処理を実現できるものの、高速性の追求という観点では欠点となる。データの読み書き、暗号化/復号、ハードウエアの制御といった処理を切り替えるたびにオーバーヘッドが生じるのだ。これはHDDのストレージでは目立たないものの、高速なフラッシュメモリーでは性能のボトルネックになる。

 そこで「IBM FlashSystem」では、コントローラーに、FPGA(Field Programmable Gate Array)を使った専用プロセッサーを採用した。日本IBMの佐野氏は「汎用プロセッサーで発生するオーバーヘッドを取り除き、高速性を追求した」と話す。

 専用プロセッサーによる高速化の利点を、汎用プロセッサーで同じ処理をする場合と比較して説明しよう。データを暗号化しフラッシュメモリーに書き込むケースを考えると、汎用プロセッサーでは、「暗号化」で1サイクル、「書き込み」で1サイクルと、合計2サイクルが必要になる(図2左上)。

 一方、FPGAによる専用プロセッサーでは、配線の設計を工夫することによって1サイクルで複数の処理を実行できる(図2右上)。そのため、「暗号化して書き込み」といった具合に処理が1サイクルで済む。サイクル数が少ない分、性能(スループット)が向上する。

 また、汎用プロセッサーの場合は、割り込みにより処理遅延が発生することがある(図2左下)。大きなサイズのデータを読み込んでいる途中で、ハードウエアの制御信号を受ける、といったケースだ。その場合、汎用プロセッサーは読み込み処理を中断し、ハードウエアの制御処理に切り替える。ハードウエアの制御処理が終わると、再び処理を切り替え、読み込み処理を再開する。この切り替えの間だけ、読み込みの待ち時間が発生する。

図2●専用プロセッサーによる高速化の利点
図2●専用プロセッサーによる高速化の利点
ストレージコントローラーやフラッシュモジュールのコントローラーに、汎用プロセッサーではなく、FPGA(Field Programmable Gate Array)などを使った専用プロセッサーを搭載した製品が登場している。専用プロセッ サーを使うことで高速化できるという
[画像のクリックで拡大表示]

 一方、専用プロセッサーの場合は、データの読み込みと、ハードウエアの制御それぞれに対して処理回路を設けることによって並列処理ができる(図2右下)。このため、割り込み処理による遅延が発生しにくい。