2012年7月5日木曜日

USBメモリの書き込み速度が遅い(USB3.0対応)

久しぶりの更新になります。
今回は、順調に書き込み速度が低下しているUSBメモリのお話をしたいと思います。

昨今のUSBメモリは、特にUSB3.0対応製品を中心に読み出し速度の高速性のみを紹介し、書き込み速度については触れないとも多くなりました。このため、実際に購入してみたら書き込み速度が異様に遅く、「なぜ?」という方もいらっしゃるようです。そこで今回は、USBメモリやSSDの速度がどこで決まるかという話を中心に、昨今の事情を解説したいと思います。

本Blogをよく読まされている方なら常識かもしれませんが、SSDやUSBメモリの理論上の最大速度は、NANDフラッシュメモリの「インターフェース速度 x コントローラの物理チャンネルの数」によって決まります。SSDの場合ですと、コントローラに搭載されたNANDフラッシュメモリ接続用の物理チャンネルは通常「8個」。USBメモリの場合は、1、2、4個の3種類のコントローラがあるようです。

インターフェースの速度は、大きく2つあります。1つが、同期モードです。ONFI NV-DDR 1.0の場合で166または200MB/sec。東芝とSAMSUNGが推進しているToggle DDR 1.0の場合で133MB/secです。次世代のONFI NV-DDR 2.0及びToggle DDR 2.0なら400MB/secとさらに高速化されます。もう1つがAsyncモード(非同期転送モード)です。Asyncモード時の速度は、公開されていないので詳細は不明ですが、NV-DDR 1.0やToggle DDR 1.0の半分前後ぐらいだと思っていればよいかと思います。

上記を前提としますと、SSDは通常、物理チャンネルが8つありますので、同期モードの場合、最大1600MB/sec。USBメモリは、同期モードの場合で、1チャンネル品が200MB/sec。2チャンネルなら400MB/sec。4チャンネルなら800MB/secが最大速度ということになります。つまり、USBメモリの場合、最大速度が100MB/sec程度でよいなら、1チャンネル品のコントローラで十分事足りるということになります。

次に書き込み速度についてですが、これを決める要素は、「NANDフラッシュメモリ単体の書き込み速度 x 並列アクセスバンク数(同時にアクセスできるダイの数)」です。つまり、素のNANDフラッシュメモリの書き込み速度が10MB/secだと仮定すると、1ch接続でもダイが2個あれば、2Wayインターリーブを使って20MB/sec、4個あれば4Wayインターリーブで40MB/secの速度がでます。最近のUSBメモリの書き込み速度が何故遅いかという原因は、まさにここにあります。要するにUSBメモリに搭載されているNANDフラッシュメモリのダイの数が少ないのです。

加えて、最近のUSBメモリは、SSDで一般的なMLCタイプだけではなく、TLCタイプも使用されているようです。これが、USBメモリの書き込み速度の低下に拍車をかけています。

TLCタイプのNANDフラッシュメモリは、読み出し速度こそMLCタイプとほぼ同じですが、書き込み速度は、MLCタイプの半分ぐらいしかありません。しかもTLCは、ダイ当たりの容量が64Gbit(8GB)のものが一般的です。一方、MLCの場合は、32Gbit品と64Gbit品の両方が現在の主流です。

まとめますと、現在のUSBメモリの書き込み速度の低下には、大きく2つの要素があります。1つが、NANDフラッシュメモリ自体の書き込み速度の低下です。これは、製造プロセスの微細化による速度低下とMLCではなく、TLCを使うことによる速度低下です。2つ目が、NANDフラッシュメモリの大容量化です。現在のNANDフラッシュメモリは、MLCの場合で32Gbitと64Gbit品の2種類があり、TLCの場合は、現時点で64Gbit品が主流です。このため、8GBモデルなら1つのダイで製造でき、16GBモデルでも2つのダイで製造できてしまいます。同時にアクセスできるダイの数そのものが少ないのですから、書き込み速度があがるわけがありません。

特に現在の安価なUSBメモリは、TLCタイプが採用されている可能性が高いので、購入時には、最初から速度は割り切っておいた方が良いと思います。実例をお見せします。以下のベンチマーク結果は、先日「400円」で購入したLexar MediaのJUMPDRIVEという8GBのUSBメモリ(USB2.0接続)の速度です。リードこそ20MB/secほどでていますが、ライトは、7MB/secほどしかでていません。TLCタイプのNANDフラッシュメモリの書き込み速度は、7MB/sec前後ぐらいだったと思いますのでその速度に合致しています。MLCの64Gbit版のダイ1つの可能性も否定はしませんが、MLCの場合、だいたい10MB/secぐらいの速度がでます。価格も考慮して考えると、本製品に採用されているのは、非同期モード専用品のTLCタイプのNANDフラッシュメモリの可能性が高いと思われます。


もう一つ、LexarのJUMPDRIVEと一緒に「800円」で購入したSUPER TALENTのUSB3.0 Express ST1の16GBモデルのベンチマークも載せておきます。この製品もJUMPDRIVEに負けず劣らずでなかなか素晴らしい結果です。リードこそ90MB/secほどでていますが、ライトはなんと12MB/sec弱。どうみてもNANDフラッシュメモリがTLCタイプっぽい速度です。推測ですが、おそらくこの製品の搭載メモリは、TLCタイプで同期モードなのだと思います。16GBモデルなので、64Gbit(8GB)のダイが2つで1ch接続の2Wayインターリーブまたは2ch接続なのでしょう。


最近のUSBメモリは、低価格化のためにTLCタイプのNANDフラッシュメモリを採用する例が増加しているようです。これによって、特に安価なモデルを中心により一層書き込み速度が遅くなっています。上記のSUPER TALENTの例を考えると、USB3.0対応の32GBモデルですら書き込み速度が25MB/sec前後の製品が以外に多いのかもしれません。昨年までのUSB3.0接続のUSBメモリは、同期モードのMLCタイプを採用しているというイメージでしたが、現在は、同期モードのTLCタイプに変更されてきているという感じがします。少しでも高速な製品が欲しいときは、入念な下調べが必要なのだと思います。