コンピューターの記憶媒体として、ハードディスクが台頭していた時代が終わろうとしています。毎日使っているスマートフォンはもちろんのこと、ノートPCの記憶媒体は既にハードディスクからメモリをベースにしたシステムに移行しています。それと同じことが、データセンターにあるサーバーでも起ころうとしているのです。それが「フラッシュストレージ」。この連載では“5分でわかる! フラッシュストレージの基礎講座”と題して、フラッシュメモリとは何か? という基礎知識から、フラッシュストレージがどのようにデータセンターで使われているのか? さらにはその構造や利点といったような最新技術の詳細までを、連載でお届けします。

>>仮想化専用フラッシュ・ストレージTintri<<

第1回では、「フラッシュメモリの基礎」について解説しましょう。

フラッシュメモリの歴史

ハードディスクがコンピューターの記憶媒体として初めて使われたのは1950年代半ばで、その役割はメインフレームの補助記憶装置であったと言われています。当時は数メガバイトの容量だったハードディスクは年々進化を遂げ、現時点では1台で数テラバイトの大容量を持つようになりました。

ところが、容量が大きいだけでは速さを求めるユーザーの声には応えることができません。金融業界のミリ秒単位の決裁や大量のトランザクションを処理しなければいけないeコマースなど、速さを求めるアプリケーションのために開発されたのが半導体素子を使ったソリッドステートドライブ(SSD)です。デスクトップPCを高速化するために、起動ディスクをSSDに換装するケースも増えました。AppleがSSDを搭載したスリムで軽量なノートブックPC「Mac Book Air」を発表したのが2008年。そのSSDの中に使われているのが、フラッシュメモリということになります。

では、そのフラッシュメモリとは何なのでしょうか? 半導体素子を使ったメモリの一種で論理回路である否定論理積(Not AND、つまりNAND)の回路を、集積度の高いシリコンチップの上に複数のトランジスタ(MOSFET)を利用して実装したものがフラッシュメモリです。通常のCPUにおけるメモリ(DRAM)とは異なり、電圧をかけて電子の状態を保持する必要が無いため不揮発性メモリとも呼ばれています。DRAMは、電子の状態を保持するために一定時間毎に再書き込み(リフレッシュ)を行う必要があるため、システムの電源が落ちると消えてしまいます。これに対してフラッシュメモリは、電圧をかけなくても電子の状態が保持されるために、ファイルシステムなどを格納する不揮発性の記憶媒体として使うことができるのです。

NAND型フラッシュメモリは、NAND回路を格子状に並べたセルとして配置します。セルを複数つなげたものをページと呼び、さらに複数のページでひとつのブロックを構成します。

また、NAND型フラッシュメモリのセルに保持される、電子の状態を“High”と“Low”の1ビットで保持するものをSLC(Single Level Cell)、電子の状態を複数のレベルで保持するものをMLC(Multi Level Cell)、3階層あるものをTLC(Triple Level Cell)と呼びます。

今後も拡大してくフラッシュメモリの利用

フラッシュメモリの名前は、書き込みの動作に由来します。通常の読み込み動作であれば、複数のセルの集まりであるページ単位で行います。書き込みもページ単位で可能です。ところがNAND型フラッシュメモリは書き込みに関しては単純にデータの更新を行う上書き処理ができません。そのため、一度セルが存在するページを含むブロック全体を読み出しておいてから、ブロックを一度に消去し(カメラのフラッシュのように一瞬で消えるところからフラッシュメモリと呼ばれるようになったようです)、その上で書き換えたブロックのデータを書き込むという処理が必要になります。

一般的に読み込みは10マイクロ秒台、書き込みが100マイクロ秒台、ブロックの消去に必要な時間がミリ秒台程度かかります。それ故に「読み込みは速いが書き込みが遅い」というように一般的に説明されるのです。またエラー処理も必要になりますので、ECC(誤り訂正符号)を使ったエラー補正が行われます。

電子が絶縁層で囲まれた領域に出入りすることで電荷の違いをつくりだすため、1→0への変化、つまり電子が絶縁部を通過するたびに絶縁部分が少しずつ劣化します。つまり、データの書き換えを数千回から十万回程度行うことで、絶縁部分の電子を保持することができなくなり、結果として使えないセルとなってしまいます。ハードディスクでいえば、「不良セクタ」と同じことですね。これがSSDについて言われる「SSD書き換え回数の限界」です。書き換えの限界となる回数については、SLC、MLC、TLCの違いやメーカーによって様々ですが、数千回から十数万回というのが定説のようです。膨大な容量の一部を酷使しないようにアクセスを分散化する技術なども開発されていますので、すぐに使えなくなるなどの心配は無用です。

回路がシンプルで集積度が上げやすいNAND型フラッシュメモリですので、速度だけではなく容量も求められるHDDの代替としてSSDのベースとして利用が拡がりました。近年は集積度も上がり、既にテラバイト規模のSSDが製造されています。最近の開発ではSLC、MLC、TLCに続いて3次元構造を持った3D NANDをNAND型フラッシュメモリメーカーが研究を行い、製品化され始めています。この技術が確立され、製造工程の歩留まりが向上されると、さらに容量が増加し、書き換え回数にも余裕ができ、アクセス速度の高速化が行われますので、SSDの利用は更に拡大していくでしょう。

>>仮想化専用フラッシュ・ストレージTintri 詳細資料はこちら<<

[PR]提供:Tintri