web-dev-qa-db-ja.com

USBフラッシュドライブがSSDよりもはるかに遅いのはなぜですか?

私が理解していることから、 SBフラッシュドライブ および ソリッドステートドライブ (SSD)は同様のテクノロジー NANDフラッシュメモリ に基づいています。

ただし、USBフラッシュドライブは通常非常に遅く、読み取りと書き込みの速度は10〜25 MB /秒ですが、SSDは通常非常に高速で、約200〜600 MB /秒です。

SSDがUSBフラッシュドライブよりもはるかに高速なのはなぜですか? USBフラッシュドライブが毎秒10〜25 MBを超えないのはなぜですか。

SSDがNANDフラッシュメモリへの並列アクセスを使用しているというだけですか、それとも他の理由がありますか?

67
Jonas

並列処理、およびコントローラーがそれをどのように使用するかが主な要因です。通常、SSDにある8〜16個の個別のNANDチップを使用する余地はありません。 USBスティックのコントローラーも、利用可能な並列処理を効率的に利用するために、通常それほど複雑ではありません。

重要な他の要素は、フラッシュの品質です。多くのUSBスティックは安価なフラッシュを使用しており、エラーを回避するために読み取りと書き込みを遅くする必要があります。 USBドライブには、クリーンなブロックを維持するのに役立つ多くのオーバープロビジョニング機能はありません。また、USB 2.0は約35 MB/sに制限されています。また、多くのSSDには大きなRAMキャッシュが付属しています。

これらの違いの主な理由は価格です。 LaCie FastKeyのように、USBスティックフォームファクターにはSSDがいくつかあります。

64
Mr Alpha

私が見たいくつかの要因:

  • Parallelism: SSDは多くのフラッシュデバイスを使用し、それらに並行してパイプライン処理してインターリーブして、それらに頻繁にアクセスします。

  • SLC vc MLC:マルチレベルセルは各セルに2ビットを格納しますが、アクセス時間は長く、シングルレベルセルはセルごとに1ビットを格納します。さらに、SLCはMLCよりも多くの書き込み/消去サイクルを維持します。すべてのUSBサムフラッシュドライブとSDカードは、安価なのでMLCです。 IntelのX25-Mなどの一部の「コンシューマー」SSDもMLCを使用し、X25-Eなどの「エンタープライズ」ドライブ用にSLCを予約していることに注意してください。

  • 複雑な割り当てアルゴリズム。ウェアレベリングだけでなく(これも非常に重要です)、書き込みから消去を切り離すため、書き込みが必要な場合、ドライブにはすでにいくつかの事前消去されたセルがあります書く準備ができています。

  • インターフェイス: SATA2および現在のSATA3は、USBよりもロット高速です。生のビットレートだけでなく、効率もはるかに高くなります。 USBの理論上の速度の100%に到達することはありませんが、SATA、SAS、およびIEE1394では一貫してそれを実現します。

  • いくつかの追加のハードウェアトリック;バッテリバックアップ式の小さなライトバックキャッシュのようなこの小さなRAMに書き込みを行うと、ドライブ自体がフラッシュに書き込みに書き込みを確認します。

37
Javier

USBインターフェースは大きなボトルネックです。私は本当にクールなKanguru eFlashドライブを所有していますが、それは大きな違いをもたらします。

このデバイスにはUSBとeSataコネクタがあります。 USB側では45 MB /秒、eSata側では90 MB /秒で転送します。同じデバイスから!これは本当にUSBが制限要因であることを示しています。他の人が言ったように、一部はUSBでさえ制限されるにはあまりにも安く構築されたドライブを駆動します。

27
Itai

USBスティックはSSDよりもかなり低価格です。 SSDで使用されている高価な高速フラッシュではなく、安価な低速フラッシュを使用しているためです。

4
geekosaur

主な違いは、テクノロジーの使用です。SLC(シングルセル)、MLC(マルチセル)、TLC(3レベルセル)。 SLCは信頼性が高く、最も高速ですが、各フラッシュチップのGBサイズで最大容量に制限されます。言及している遅いフラッシュドライブはMLCを使用しているため低速ですが、SSDの大部分はまだSLCを使用しています。

1

物理的なサイズの制約やNANDのパフォーマンスからUSBプロトコルのオーバーヘッドまで、さまざまな要因がUSBフラッシュドライブのパフォーマンスを制限する可能性があります。

  • 最も重要な制約は、おそらくサイズの制約です。 USBフラッシュドライブは適度なサイズにする必要があるため、製造元がドライブに過剰に多くのNANDチップを詰め込むことはできません。 SSDは通常、2.5インチハードドライブフォームファクターを使用し、NANDに十分なスペースを提供します。 (mSATAフォームファクターでも、適度なサイズのフラッシュドライブで利用可能なスペースよりも多くのスペースを提供します。)原則として、ドライブに搭載されているNANDチップの数が多いほど、コントローラーがより多くのチップに書き込むことができるため、高速になります。同時に(並行して)。

    • Samsungは、全脂肪SSDテクノロジーを搭載した「ポータブルSSD」を作成することで、この問題を完全に回避します。「プレミアム」NANDと高性能コントローラーは、「実際の」内部SSDにあります。これらのドライブは、USBポートに直接接続するのではなく、USBケーブルを介してコンピューターに接続します。

    • 従来のスティックフォームファクターには、フルSSDテクノロジーを使用するフラッシュドライブがあります。ただし、ほとんどの消費者はフラッシュドライブの完全なSSDパフォーマンスを必要とせず、期待もせず、高価なニッチに限定されます。このようなドライブは通常、ほとんどのシステムで隣接するUSB​​ポートをブロックするのに十分な大きさもあります。

  • コストを削減するために、USBフラッシュドライブは通常、SSDで使用されるチップほど高速ではない低グレードのNANDと、それほど強力でないコントローラーを使用します。また、フラッシュドライブは一般的にSSDよりも容量が少ないため、ドライブケーシング、回路基板、コントローラーなどの他のパーツと比較してNANDは少なく、GBあたりのコストも増加する傾向があります。

  • さらに、USBプロトコルには比較的高いオーバーヘッドがあります。最大のパフォーマンスを得るには、ドライブが [〜#〜] uasp [〜#〜] をサポートする必要があります。これにより、システムはSCSIコマンドをUSBドライブに送信できます。安価なドライブは通常、パフォーマンスをさらに制限するバルクオンリートランスポートのみをサポートします。詳細は this answer を参照してください。

1
bwDraco