ニュース
新生“東芝ブランド”のSSD戦略を開発陣に聞く
~NANDとコントローラの1パッケージ化とメインメモリキャッシュがもたらす変革
2018年8月29日 06:00
SSDは、価格重視のSerial ATA SSD、性能重視のNVMe SSDに大別される。しかし、両者の中間に位置するDRAMレスのNVMe SSDが登場し、この状況が変化してきた。SSDにはどのような未来が描かれているのか?最新動向を東芝メモリにうかがった。
TEXT:北川達也
東芝メモリは、東芝のメモリ関連事業を継承して2017年4月1日に発足した企業である。同社は、2018年6月1日に東芝グループを離れ、独立した企業活動を開始。2018年8月1日には親会社であった株式会社Pangeaと合併し、社名を「東芝メモリ株式会社」としてNANDメモリやSSDの開発、製造、販売などを行なっている。
東芝メモリのSSD事業は、クライアント向けからエンタープライズ向けまでをカバーしている。クライアント向けには、Serial ATA SSDとNVMe SSDを、データセンターやエンタープライズ向けには、Serial ATA SSD、SAS SSD、NVMe SSDを手掛けている。世界第2位のNANDメモリのシェアを誇るだけでなく、世界でも屈指のSSDベンダーでもある同社に、現在展開中のクライアント向けSSD事業の詳細や、同社が描くストレージの未来について話をうかがった。
コントローラもNANDも集約。SSDは1パッケージに
東芝メモリでは、現在、クライアント向けSSDとして「XG5シリーズ」と「BG3シリーズ」の2種類のNVMe SSDを出荷している。XG5シリーズは、より高性能を狙った上位モデル。BG3シリーズは、ミドルレンジからローエンドをターゲットとしたエントリーユーザー向けの製品だ。とくにプッシュしているのがBG3シリーズである。
BG3シリーズは、1つのパッケージ内にSSDとしての機能をすべて詰め込んだシングルパッケージのSSDだ。M.2 1620(BGA)とM.2 2230の2種類のフォームファクターで提供されている。M.2 1620(BGA)というフォームファクターは聞き慣れないが、工藤氏によるとM.2の規格の中には、シングルパッケージの規格もあるのだと言う。
「M.2はモジュールだと思われている方がいらっしゃいますが、PCI-SIGのM.2規格の中には、モジュールのほかに、LGA (Land Grid Array) やBGA(Ball Grid Array)のシングルパッケージの規格があります。BG3シリーズは、モジュールだけでなく、PCIe BGA SSDとしても提供しています。また、BGAのボールの配置も、PCI-SIGのM.2の規格の中で定められています」(工藤氏)。
この規格の策定には、東芝メモリがかかわっている部分もあると言う。
「じつは、弊社と某アメリカの会社の間で将来PCがどこに行き着くのかという話をしたときに、やはり、薄くて軽くて持ち運びしやすい方向にいくのではないかという話になりました。そのためには、こういうもの(小型のストレージ)を作らないといけないよねという話が出まして、その流れの中で、フラッシュメモリを最大容量搭載した上で、コントローラを搭載したワンパッケージにするならば、どういったものが一番よいのかということを検討した結果できたのが、PCI-SIGのM.2の規格の中で規格化されているこの配置です」(工藤氏)。
シングルパッケージの難しさとは? BG3はDRAMレスを選択
シングルパッケージSSDの開発において工藤氏は、「やはり熱が一番の問題になった」と言う。
「シングルパッケージのSSDでは、ワンパッケージのプラスチックの中に、コントローラもフラッシュメモリもすべて入っています。そうすると、その中は、すべてが発熱体です。温度が高くなると、半導体の限界が来るので、温度を落とさなければいけません。このため、どうやって熱を逃がすかというのが非常に重要になります。その辺りのところをどうするかというアプローチが最大の課題になりました」(楮氏)。
この課題に対して同社が選択した解答の1つがDRAMレス設計のSSDで、DRAMレスでも性能を落とさいないための工夫である。その工夫が、BG3シリーズに搭載されている「HMB(Host Memory Buffer)」機能だ。
「NANDメモリのみのSSDを作ると、10μから50μのアクセス時間になってしまいます。DRAMは、その1,000倍ぐらい速いアクセス速度がありますので、SSDにDRAMを搭載すると、キャッシュアクセスとしても速いですし、論理アドレスと物理アドレスを変換するテーブルを置くことができて、ランダムアクセス性能を向上させることができます。
しかし、DRAMを外してしまうと、このメリットを享受することができません。そこで、SSDの中にあるDRAMを外す代わりに、CPUが使っているメモリをちょっと分けてもらうというアイディアを考えました。これが、HMB機能です。HMBでは、PCI Expressのインターフェースを通してDRAMアクセスをするので、コントローラに直接接続されたDRAMよりもレイテンシは大きくなりますが、ソコソコの性能が出ます」(藤澤氏)。
では、HMB機能は、どのぐらい効果があるのだろうか? それに対して藤澤氏は次のように説明する。
「HMBは、シーケンシャル性能に対してはほとんど効きません。シーケンシャルの場合は、ときどき、テーブル解決の必要があるのですが、コマンド1つ1つに対して解決する必要はないので、テーブルがキャッシュされていることに対する効果はあまりないのです。一方でランダムアクセスの場合は、各アドレスがあっちに行ったりこっちに行ったりします。そういったケースでは、解決できるテーブルがキャッシュされていることでアドレス変換が高速になり、ランダムアクセスの読み出しが高速化されます」(藤澤氏)。
想像以上に課題が多かったHMB対応コントローラの開発
「DRAMを搭載できないUFS(Universal Flash Storage)のコントローラをやってきた経験からすると、DRAMがあれば、なんて簡単になるんだろうと思っていました。今までできなかったあんなことやこんなことができるようになるのではと、実際にやるまでは考えていましたが、実際は、全然そんなことはなくて、考えが甘かったです」(渡邉氏)。
BG3のコントローラの開発を担当した渡邉氏によると、HMBには大きく3つの課題があり、想像以上にその開発は困難だったと言う。まず1つ目が、いつでも使えるとは限らないことだ。
「NVMe規格上、HMBは、マストではなくて、オプショナルの扱いです。HMBは、OSがいいよと言ってくれないと、使えません。たとえば、組み込み系になると、メモリが少なく、もらっても少な過ぎて意味がないとか、もらえないということもあります。また、OSが対応していてもドライバがロードされてはじめて使えるようになります。これを考慮すると、結局、HMBがなくても立派に動くSSDを設計しなければなりません。HMB対応SSDは、じつは、2通りの設計を1つのコントローラでしなければならないので、設計がとても大変でした」(渡邉氏)。
次に高速化に関する問題だ。DRAMレスのコントローラの場合、通常SRAMがコントローラに用意されていて、それを工夫して使ってさまざまな処理を行なっている。しかし、SRAMでやっていたことをそのまま置き換えようとすると、しっぺ返しを食らうことがあると言う。「SRAMは、容量は少ないのですが、レイテンシが小さく、とにかく高速です。これを、大容量のホストのメモリとそのまま置き換えると、とにかくレイテンシが大きいので、同じような設計を行なっても速くなるどころか、むしろ遅くなるということが起こる場合があります」(渡邉氏)。
……続きはDOS/V POWER REPORT10月号にて