後藤弘茂のWeekly海外ニュース
DRAMスケーリングの課題と打開策
(2014/12/4 12:17)
DRAMを揺るがすRow Hammer問題
昨年(2013年)までは、DRAMの製造プロセス技術の微細化が行き詰まっているという声がよく聞かれた。微細化が行き詰まれば、DRAMの容量の増加や価格の低下も行き詰まる。DRAMの今後はどうなってしまうのか。AMDのJoe Macri氏(CVP and Product CTO)は、規格を策定するJEDECで、DRAM規格を担当するJC-42.3 Subcommitteeのチェアマンでもある。Macri氏は、現在のDRAMが、微細化のために信頼性の問題を抱えていることを認める。
「DRAMが2x nmプロセス世代になって、『Row Hammer』問題が大きく取り上げられるようになった。ある業界関係者が見つけた、DRAMの信頼性に対する重大な問題だ。これが、業界に対する『目覚ましコール(Wake-up call)』となり、誰もがDRAMの微細化によって、深刻な問題が発生していることを認識するようになった」。
Row Hammer問題は、DRAM技術が微細化したことで深刻になり始めたメモリセル間の干渉によって発生するエラーの問題だ。
DRAMメモリセルの同じRow(行)に対する連続したアクセスが、隣接したRowのセルのデータを不安定し、エラーを生じさせる。この問題は2012年頃から話題になり始めた。Intelはメモリ制御に関する特許(Row hammer condition monitoring, US 20140006704 A1など)の中で言及した。そして、今年(2014年)6月のコンピュータアーキテクチャ学会「ISCA (International Symposium on Computer Architecture)」でRow Hammerに関する論文が発表されたことで、コンピュータ業界で広く知られるようになった。
この問題の根源は、DRAMの微細化が限界に近づいていることに起因する。DRAMを微細化してセル密度を上げて行くと、各セルのキャパシタにチャージできる電荷が減って行く。そのため、ノイズマージンが減少して、セル間干渉などに弱くなる。ところが、セル密度が上がるに連れてセル間の物理的な距離が短くなり、より干渉されやすくなる。さらに、微細化によるばらつきの増大が、弱いセルを作り出す。
こうした問題の積の結果、20nm台以降のDRAMでは、特定のRowにアクセスが繰り返されると、近接したRowのデータが損なわれる現象が発生する。これがRow Hammerで、Intelの特許は、Row Hammerを予測して、アクセスがしきい値に達すると対処するためのものだ。
DRAMのスケーリングは10nm以下まで予想される
Row Hammer問題が象徴するように、DRAMは微細化のために信頼性が低下し始めている。そのため、最近はDRAMのスケーリングは終わりつつある、という発言が多く聞かれた。昨年まではDRAMの微細化は「1z nm」、つまり10nm台前半あたりのプロセス技術で終わり、それ以下のプロセスには微細化できず、DRAMの技術的な寿命は2010年代のうちに終わると言われていた。
しかし、現在は状況が変わっている。DRAMはより延命されるという見方が強くなっており、10nm以下へ微細化も可能という意見も出てきている。JEDECのJoe Macri氏もDRAMの終焉はまだ来ていないと見ている。
「確かに、DRAMはスケーリングの問題に直面している。しかし、それがすぐにDRAMのスケーリングの終焉を意味するわけではない。人々は常に、“ムーアの法則は終わった”、“DRAMのスケーリングは終わった”と言う。しかし、私はムーアの法則もDRAMのスケーリングも、まだ終わらないと見ている。かなり先までスケールダウンを続ける方法を見つけることができると思う。おそらく、この10年紀の終わり(2020年)を超えてもDRAMはスケールダウンできるだろう。
一例を挙げると、GDDR5を規格化した時は、シングルエンデッド信号で4Gbpsの転送レートは不可能だと言われた。しかし、今日、GDDR5の転送レートは8Gbpsに達している。エンジニアリングが実現できることを、過小評価してはいけない。
一方、DRAMの代替については、私の時間軸的な視点では、次世代メモリ技術の研究の、まだ非常に初期の段階にいると考えている。候補はいくつかあり、その中で最初に製品化されたのはPCMだった。しかし、PCMはDRAMの置き換えには向いていなかった。この10年紀の終わり(2020年)か、次の10年紀の初め頃(2020年代初め)に、DRAMの代替メモリ技術が見えてくると予想している」。
2020年を超える時点までDRAMの微細化が続き、DRAM代替技術もその頃までは準備ができないだろうというのは、現在のメモリ業界の共通認識となっている。DRAM代替の最有力候補は「STT-RAM(またはSTT-MRAM、Spin-Transfer Torque RAM:スピン注入メモリ)」だが、DRAMをすぐ置き換えることはできないと見られている。今年8月に開催されたメモリカンファレンス「Flash Memory Summit」でも、SamsungでSTT-RAMを担当するFarhad Tabrizi氏(Senior Vice-President, Samsung Semiconductor)が似たような発言をしている。
「当社は、STT-RAMがDRAMを置き換えることができるだろうと考えている。しかし、そこには多くの製造上の困難があり、非常に難しい。特に、磁性材料を使うSTT-RAMでは、20nm以下のプロセスで精度の高いピラー(pillar)を生成することが難しい。おそらく、エッチングのための新しい製造装置が必要になる。
一方、我々は2020年か、それ以降までDRAMが継続できると考えている。実際、Samsungでも今後2~3世代のDRAMの開発を進めている。当面予想できる範囲では、DRAMがRAMとして使われ続けるだろう」。
DRAMの微細化を継続させるための技術
DRAMの延命には2つの要素が絡んでいる。1つは、DRAM代替となる可能性が高いSTT-RAMの高集積化にまだしばらく時間がかかること。もう1つは、DRAMの改良によってスケーリングの継続と延命が可能であると期待され始めたことだ。DRAM自体とDRAMのスペック、DRAMの改良と連携したメモリコントローラの改良などによって、DRAMを延命することが可能だと見られている。もちろん、そうしたDRAMの改良はDRAMのコストを上げる可能性をはらんでいるが、DRAMを使い続けることができる。
DRAM自体の改良では、エラー訂正ECCの機能の内蔵がある。JEDECのMacri氏はECCが今後のDRAMの標準的な機能になって行くだろうと語る。
「スケーリングの問題に直面するDRAMの信頼性を高めるためのさまざな技術が導入されつつある。1つはECCだ。ECCは現在、サーバーとHPC(High Performance Computing)の世界で使われている。しかし、ECCのニーズはもっと広い範囲になって行くと考えている。(プロセスの微細化とともに)メモリ技術はどんどん難しくなっており、DRAMセルは次第に不安定になりつつあるからだ。
我々は、2020年に近づくに連れて、安定性の問題に対処するために、より多くのメモリがECC機能を持つようになると考えている。そのECC機能が(DRAMの)内部アレイのレベルで隠蔽されるか、ECCとして(DRAM外部に対して)露出するか、どちらであろうとも(ECCが使われる)」。
スケーリングを継続するためのDRAM技術については、今年6月のコンピュータアーキテクチャ学会「ISCA (International Symposium on Computer Architecture)」のワークショップ「The Memory Forum」でSamsungが概要を発表している。その中に、Macri氏が言及している、DRAM内部で自動的に行なわれる「In-DRAM ECC」についての説明がある。
In-DRAM ECCは、DRAMセルのエラーレートが高まるなら、ECCをDRAMの標準的な機能として内蔵しようという発想だ。In-DRAM ECCは有効な方法だが、問題はダイサイズが大型化するダイオーバーヘッドが大きいこと。Samsungはその問題を軽減するテクニックをワークショップで紹介している。
Samsungは、スケーリングによってDRAMが直面する問題として「Refresh」、「Write Recovery Time (tWR)」、「Variable Retention Time (VRT)」の3つを挙げている。詳細は別な記事とするが、これらの要素は、DRAMアーキテクチャの改良やIn-DRAM ECC、コントローラの制御などによって軽減できると見ている。
多層化するメモリ/ストレージ階層に入り込む新メモリ
では、コンピュータのメモリシステムは現在のまま継続されるのか。そうではないとメモリ業界関係者は口を揃える。
「新しいメモリ技術がDRAMを置き換える前に、それらのメモリ技術のいくつかは、メモリ階層の中に浸透して行くだろう。メモリは、従来より深い階層になって行く。(プロセッサに)近い位置にあるメモリはDRAMで、より遠い位置にあるメモリは新メモリといった棲み分けになる可能性がある」(Macri氏)。
「DRAMとNANDの間には大きな性能ギャップがある。そのギャップを埋めるメモリが求められている。不揮発性でDRAMに近いアクセス時間で、DRAMのようなバイト単位のアドレスが可能でプロセッサからロード/ストアのオペレーションが可能なメモリが必要になって行くだろう。
最速のメモリはDRAMで、最も容量の大きなメモリはNANDであることは、しばらくは変わらないだろう。しかし、その間を埋める、ランダムアクセス可能な不揮発性メモリの必要は高まって行く」(Tabrizi氏)。
長い間、コンピュータのメモリ/ストレージ階層は単純だった。ワーキングメモリとしてDRAMがあり、ストレージとしてHDDがあった。しかし、そうした単純な2階層は崩れつつある。その間を埋めるメモリが台頭しつつあり、また、DRAMはHBM(High Bandwidth Memory)やHMC(Hybrid Memory Cube)でより高速広帯域へと向かっている。将来のメモリ階層は、現在よりずっと複雑になると見られている。