修士論文要旨(2015 年度)
ストレージクラスメモリを使用したソリッド・ステート・ドライブにおける メモリの設計指針とメモリ構成に関する研究
Design guidelines of Storage Class Memories in Solid-State drives and Memory Configurations 電気電子情報通信工学専攻 小名木 貴裕
Takahiro ONAGI
1. 研究の背景・目的
情報通信技術や情報処理技術の発達により高速で 低電力なストレージの要求が高まっている。そこで、
本論文では現在開発が進められているストレージク ラスメモリ (SCM) を用いたソリッド・ステート・ド ライブ (SSD) である All Storage-type SCM SSD を提案 し、評価した。また、先行研究において提案された SCM/NAND 型フラッシュメモリハイブリッド SSD と の比較を行い、 SCM の性能に応じてより効果的と考え られる SSD の構成を提示した。
2. ストレージクラスメモリ (SCM)
ストレージクラスメモリ (SCM) とは、フラッシュ メモリよりも高速な不揮発性メモリの総称である[1]。
SCM は NAND 型フラッシュメモリよりもアクセス速 度が高速であり、低消費電力かつ長寿命 (~10 9 ) であ る。また、そのアクセス速度や容量は SCM の種類に よって特徴に差がある。例として、磁気抵抗メモリ (MRAM) のアクセス速度は DRAM 近い性能を持ち、
高速であるが、大容量化が難しい。対して抵抗変化型 メモリ (ReRAM) はアクセス速度については低速な ものの、大容量化が可能であると見込まれている。こ のように SCM の中でも DRAM 寄りの性能をもつもの を Memory-type SCM (M-SCM) と呼び、 NAND 型フラ ッ シ ュ メ モ リ 寄 り の 、 低 速 で 大 容 量 な SCM を Storage-type SCM (S-SCM) と呼ぶ。
3. M-SCM/NAND型フラッシュメモリハイブリッドSSD SCM を活用し、より高速なストレージを実現するた めの方法として M-SCM/NAND 型フラッシュメモリハ イブリッド SSD (ハイブリッド SSD) とその制御アル ゴリズムが提案されている[2]。このハイブリッド SSD は小容量、高コストであるが高性能な不揮発性メモリ
である M-SCM を有効活用するための方法として提案
された。ハイブリッド SSD では NAND 型フラッシュ メモリにおいて性能低下の原因となるような、断片化 を引き起こすデータや上書き頻度の高いデータを
M-SCM に保存するアルゴリズムを用いることで、小
容量な M-SCM を効果的に利用する。書き込み頻度の
判定には LRU テーブルという FIFO 型のテーブルを用 いる。 SCM にも書き換え可能回数が存在するため、ウ ェアレベリングを行うことで特定のメモリセルにア クセスが集中することを防ぎ、メモリ全体の寿命を延 長する必要がある。 SCM におけるウェアレベリング手 法のアルゴリズムを図 2 に示す。このアルゴリズムで は NAND 型フラッシュメモリの書き込み/読み出しと 同じ単位でウェアレベリングを行う。
4. All Storage-type SCM SSD (All S-SCM SSD) の提案 先行研究において、より高速な M-SCM を用いた M-SCM/NAND 型フラッシュメモリハイブリッド SSD が提案されている。このコンセプトとしては、高速で あるが、同時に高コストである SCM をストレージシ ステムに効率的に組み込むために、少容量の SCM に アクセス頻度の高いデータや NAND 型フラッシュメ モリの性能を低下させる特徴を持ったデータを保存 するというものであった。そのため、この時用いる SCM はアクセス速度が 100 ns 程度の高速な SCM であ
る M-SCM を想定している。しかしながら、同時に
NAND 型フラッシュメモリも記憶素子として用いる ため、M-SCM の搭載容量次第で性能が変化する。情 報処理速度及び情報通信速度が高速化していく中で、
NAND 型フラッシュメモリを用いたストレージがボ トルネックとなる場合、更に高速なストレージが求め られることになる。
1.E+001.E+011.E+021.E+031.E+041.E+051.E+061.E+07
書き換え回数
ページアドレス累積度数
106
0
1 10 102103104105106107 104
102
0.0E+00 3.0E+07 6.0E+07 9.0E+07 1.2E+08
1.E+001.E+011.E+021.E+031.E+041.E+051.E+061.E+07
書き換え回数 1 10102103104105106107 上書き回数累積度数
( 10
8)
0 0.3 1.2 0.9 0.6
100
0 50 65536(ReRAMの半分の容量)
98%
累積率(%)
X W/E X W/E
図 1 メモリの階層 Non-volatile
Volatile
Slower Faster
SRAM DRAM
NAND flash
M-SCM (STT-MRAM)
S-SCM (ReRAM, PRAM)
そこで、より高速な次世代のストレージとして SCM のみを記憶素子として用いるストレージを提案した。
SCM は高速であるが、NAND 型フラッシュメモリに 比べてコストが高い。しかし、M-SCM に比べて低速 ではあるものの大容量化が期待される S-SCM が存在 し、それを使用することでコスト面の問題については 軽減できる。従って本研究では S-SCM のみを記憶素 子として用いた All S-SCM SSD を提案する。また、
SCM はホストからのリクエストの最小単位と同じ単 位での書き込み/読み出しが可能でかつ、直接上書きが 可能であるために読み書きのアルゴリズムも簡易的 に済むと考えられる。しかし、 SCM は書き換え可能回 数に制限があるため、ウェアレベリング技術が必要に なる。また、従来の NAND 型フラッシュメモリよりも 高速なメモリアクセス速度をもつため、 SSD コントロ ーラと記憶素子をつなぐ NAND インターフェースの 速度についても検討の必要がある。
5. All S-SCM SSD の評価
トランザクション・レベル・モデリングベースのシ ミュレータを用いて All S-SCM SSD を評価した。シミ ュレーションで用いた NAND 型フラッシュメモリと SCM の仕様を表 1 に示す[3]。まず、All S-SCM SSD において図 2 にて示したウェアレベリングを用いた際 の効果について評価した。本評価においては金融サー バのメモリアクセスパターンから書き込みリクエス トのみを抽出したものを用いた。図 3 より、ウェアレ ベリングを用いることで最も書き換え回数が大きか ったアドレスにおける書換え回数がおよそ 1/3000 に なっている。よって、今回用いるウェアレベリング手 法は All S-SCM SSD において有効であると言える。次
に、 All S-SCM SSD とハイブリッド SSD において、メ モリアクセスパターンの違いが SSD の書き込み性能 に 及 ぼ す 影 響 に つい て調 査 し た 。 本 実 験で は All S-SCM SSD について、容量は 1 GB、S-SCM のインタ ーフェースのトグル周波数は 1066 MHz、メモリの書 き込み/読み出し遅延は共に 1 μs とした。ハイブリッ ド SSD では、NAND 型フラッシュメモリの容量は共 通で 1 GB、NAND 型フラッシュメモリの容量に対し てそれぞれ 5 %、10 %、25 %の容量の M-SCM を追加 した 3 種類の構成でシミュレーションをおこなった。
図 4 より、ハイブリッド SSD の書き込み性能は搭載す
る M-SCM の容量に大きく依存することがわかる。最
も性能差が大きい、プロキシサーバのメモリアクセス パターンである prxy_0 においては搭載する M-SCM の 容量を NAND 型フラッシュメモリの 5 %から 25 %ま で増やすことでおよそ 42 倍性能が向上する。 しかし、
金融サーバのアクセスパターンである Financial1 では 搭載する M-SCM の容量を NAND 型フラッシュメモリ の 5 %から 25 %まで増やした際の性能向上が約 2.9 倍 であり、メモリアクセスパターンの種類によって
M-SCM の容量を増やした際の効果が異なるといえる。
これは、ハイブリッド SSD の書き込みアルゴリズムの 動作と関係していると考えられる。M-SCM には上書 き頻度が高く、断片化の原因となるデータを保存する。
prxy_0 はこのような特徴をもったデータが多く、対し て Financial1 は上書き頻度が少ないメモリアクセスパ
図 3 ウェアレベリングによる書換え回数平準化効果[3]
1 10 100 1000 10000 100000 1000000
With wearleveling Without wearleveling
298836
# Max W /E cycle in SCM chi p 96
(N ow = 5 )
3113 times Financial1
表 1 メモリのパラメータ[3]
MLC NAND flash M-SCM S-SCM
Read latency 85 μs/page 100 ns
/sector
1 μs /sector Write latency Lower page : 400 μs/page 100 ns
/sector
1 μs /sector Upper page : 2800 μs/page
Erase latency 8500 μs/block N/A
V
DD(Memory core) 3.3 V 1.8 V
Access unit Page (16 Kbyte) Sector (512 byte)
V
DD(I/O) 1.8 V 1.2 V
I/O pin capacitance
(without TSV/with TSV) 8 pF/0.3 pF 5 pF/0.3 pF
図 2 SCM 向けウェアレベリングアルゴリズム[3]
書き込みデータ ページ内WEの 最大値WEmaxを求める
WEmax > Wth?
読みだしたデータと書き 込みデータをマージし 新しいページに書き込み 古いページから読み出し 古いページのWthに対して
Wth+= Now
上書き Yes
No ウェアレベリング
開始
End
W
th:ウェアレベリング閾値(ページ毎)
WE:セクタ毎の累積上書き回数 N
ow: W
thの更新間隔(ウェアレベリングの頻度を決める)
N
ow:大
ウェアレベリングの 頻度が低い
N
ow:小
ウェアレベリングの 頻度が高い 高速だがばらつき大
低速だがばらつき小
ターンとなっている。従って、 Financial1 では M-SCM の容量を増加させても M-SCM へのアクセス頻度が上 がらず、性能上昇が少ないと考えられる。対して、 All S-SCM SSD は 3 種類全てのメモリアクセスパターン において 300 MB/sec を超える性能を持ち、メモリアク セスパターンによる性能差が小さいといえる。このよ うに特徴の異なるメモリアクセスパターンにおいて も性能差が生じない理由としては、断片化による性能 低下が起こらないことが考えられる。
次に All S-SCM SSD がハイブリッド SSD よりも高 い書き込み性能を発揮するために必要な S-SCM のイ ンターフェースの速度を求める。 S-SCM のメモリコア の書き込み/読み出し遅延は 1 μs とし、比較対象のハ イブリッド SSD は M-SCM を 25 %搭載したものとし た。図 5 に比較結果のグラフを示す。縦軸の Speed ratio S とは、All S-SCM SSD とハイブリッド SSD の書き込 み性能の比であり、ハイブリッド SSD の性能を 1 とし て、それよりも All S-SCM SSD の性能が高ければ S の 値は大きくなる。よって、本評価では S の値が 1 以上 であれば All S-SCM SSD が優位であるとした。図 5 よ り、メモリアクセスパターンによって All S-SCM SSD が優位となる条件が異なることがわかる。これはハイ ブリッド SSD の性能がメモリアクセスパターンに大 きく依存するためである。対して All S-SCM SSD の性 能はメモリアクセスパターン依存性が小さいため、ハ イブリッド SSD が苦手とするメモリアクセスパター ンでは優位性が高くなるといえる。同様に、ハイブリ ッド SSD と比較した際に S-SCM に求められる、メモ リコアの書き込み/読み出し性能について調査した。こ
こでは S-SCM のインターフェースのトグル周波数は
1066 MHz に固定し、S-SCM メモリコアの書き込み/
読み出し遅延を 100 ns から 12 μs まで変化させ、シミ ュレーションを行った。図 6 に示した結果から、 prxy_0 のようなアクセスが発生するアプリケーションにお いては、S-SCM に高い性能が求められるため、All S-SCM SSD の利点が小さい。
最後に、 NAND 型フラッシュメモリのビットコスト を基準として定めた S-SCM と M-SCMのビットコスト を用いて、ハイブリッド SSD と All S-SCM SSD のコ ストの比較を行った。まず、 SCM のコストの想定する 範囲を決めるために、NAND 型フラッシュメモリと
DRAM のビットコストの比較を行ったところ、 DRAM が NAND 型フラッシュメモリの 16 倍のビットコスト を持つことがわかった。そこで、 SCM が実際に使われ るようになるためには DRAM よりも低コストである ことが必要であると考えて、M-SCM のビットコスト の最大値を NAND 型フラッシュメモリの 12 倍として 見積り、計算を行った。このとき、All S-SCM SSD の S-SCM 容量と、ハイブリッド SSD の NAND 型フラッ シュメモリの容量が同じで、ハイブリッド SSD には NAND 型フラッシュメモリの任意の割合分だけの M-SCM を追加した構成とする。
図 5 SSD 書き込み性能のインターフェース速度依存性[3]
0 1 2 3 4 5 6
0 500 1000 1500 2000 2500
Spee d ra tio S (% )
I/O freq. (MHz)
All S-SCM/Hybrid SSD
Financial1 tpcc-mysql prxy_0
S-SCM latency = 1μs
Hybrid SSD (M-SCM : 25%)
S-SCM SSD throughput Hybrid SSD throughput S =
All S-SCM better
図 6 SSD 書き込み性能の S-SCM 速度依存性[3]
0 0.5 1 1.5 2 2.5 3 3.5 4
0 1 2 3 4 5 6 7 8 9 10 11 12
Spee d ra tio S (% )
S-SCM latency (μs) Financial1
tpcc-mysql prxy_0
Hybrid SSD (M-SCM : 25%) All S-SCM better I/O frequency = 1066MHz S-SCM SSD throughput
Hybrid SSD throughput S =
図 4 SSD 書き込み性能のメモリアクセスパターン依存性[3]
0 50 100 150 200 250 300 350 400
All S-SCM 1GB
Hybrid SSD M-SCM 5%
Hybrid SSD M-SCM 10%
Hybrid SSD M-SCM 25%
Th roug hp ut (MB/sec)
Financial1 tpcc-mysql prxy_0 S-SCM, M-SCM : 1066MHz
NAND flash : 400MHz
I/O freq. S-SCM : 1μs
M-SCM : 100ns Latency
N
ow= 50
NAND Capacity of Hybrid SSD : 1Gbyte
M-SCM の容量を変化させた際の、 M-SCM と S-SCM に求められるコストについてのグラフを図 7 に示す。
グラフ上の面が All S-SCM SSD とハイブリッド SSD のコストが等しくなる境界面であり、その面よりも上 側であれば All S-SCM SSD の方が低コスト、面よりも 下であればハイブリッド SSD の方が低コストである。
この面の式は S-SCM と M-SCM のビットコストをそれ ぞれ NAND 型フラッシュメモリのビットコストで標 準化した値である R S-N と R M-N と、M-SCM と NAND 型フラッシュメモリの容量比 k から次の式のようにな る。
𝑅 S−N = 1 + 𝑘 × 𝑅 M−N (1) この式より、 M-SCM と NAND 型フラッシュメモリ のビットコスト比 R M-N が 12 かつ k が 25 %のとき、 R S-N
は 4 より小さいと All S-SCM SSD はハイブリッド SSD よりも低コストであるといえる。また R M-N が 8 になる と、 All S-SCM SSD がハイブリッド SSD よりも低コス トとなるための条件として R S-N は 3 未満が求められる。
6. まとめと今後の課題
All S-SCM SSD が SSD ハイブリッド SSD よりも高 い書き込み性能を持つために、 S-SCM に求められる性 能を表 2 に示す。ハイブリッド SSD が苦手とする Financial1 のメモリアクセスパターンにおいては、
S-SCM に求められる性能が低いことがわかる。逆にハ
イブリッド SSD でも高い性能が期待できる prxy_0 の メモリアクセスパターンではより高い性能の S-SCM が求められる。この結果から、 S-SCM のアクセス頻度 がセクタ当たり 1 μs で M-SCM が NAND 型フラッシュ メモリのコストの約 12 倍かつ S-SCM のビットコスト が NAND 型フラッシュメモリの 4 倍程度の時、 prxy_0 のようなアクセスパターンをもつアプリケーション ではハイブリッド SSD が、それ以外のアプリケーショ
ンでは All S-SCM SSD が適した構成であるといえる。
今後は読み出し性能の評価や、Error Collecting Code (ECC) のデコード遅延が All S-SCM SSD の性能に及 ぼす影響について詳細に解析を行う必要がある。
参考文献
[1] G.W. Burr et al., IBM Journal of Research and Development, vol. 52, no. 4/5, 2008, pp. 449-464.
[2] C. Sun et al., TCAS-I, vol. 61, no. 2, 2014, pp382-392.
[3] T. Onagi et al, JJAP, vol. 54, 2015, 04DE04.
[4] I. Song et al., in IEEE ISSCC Dig. Tech. Papers, 2012, pp. 46-48
[5] http://trace.cs.umass.edu/index.php/Storage/Storage [6] MSR Cambridge Traces, http://iotta.snia.org/traces/388
発表文献 学術雑誌
T. Onagi, C. Sun and K. Takeuchi, “Design guidelines of storage class memory based solid-state drives to balance performance, power, endurance, and cost”, Japanese Journal of Applied Physics (JJAP), vol. 54, 2015, 04DE04.
国際会議
T. Onagi, C. Sun, and K. Takeuchi, “Design Guidelines of All Storage Class Memory (SCM) SSD and Hybrid SCM/NAND Flash SSD to Balance Performance, Power, Endurance and Cost”, Ext. Abstr. Solid State Devices and Materials (SSDM), 2014, pp. 106-107.
T. Onagi, C. Sun, and K. Takeuchi, “High Performance and Low Cost Design for All 3D-NAND Flash SSD, M-SCM/3D-NAND Flash Hybrid SSD and All S-SCM SSD”, NVMW, 2015.
T. Onagi, C. Sun, and K. Takeuchi, “Impact of Through-Silicon Via Technology on Energy Consumption of 3D-Integrated Solid-State Drive Systems”, ICEP-IAAC, 2015, pp. 215-218.
国内会議
小名木貴裕, 孫超, 竹内健 “書き込み性能とコストを 考慮した 次世代不揮発性メモリを用いた SSD の設計 指針”, 情報処理学会 システムソフトウェアとオペ レーティングシステム研究会 ComSys2015, 2015 年 11 月.
図 7 SSD 書き込み性能の S-SCM 速度依存性[3]
M-SCM / NAND capacity ratio ( k )
y x z
S-SCM SSD better
Hybrid SSD better
RS-N< RM-N