sSD、eMMC、SD、USBフラッシュなどの基盤となるテクノロジは、NANDフラッシュは正しいのでしょうか。それでは、それらすべての違いは、コントローラーの実装方法だけなのでしょうか。それとも、テクノロジはまったく異なるのでしょうか。
私の知っていることから、SSDはデスクトップ用、eMMCはモバイル機器用だと思いますが、これらすべてのストレージテクノロジには複雑な違いがありますか。
NANDの略 Negated そして。それはしばしば論理ゲートがシリコンから構築される方法を と言います 。
フラッシュメモリもシリコンチップで作られており、NANDゲートを使用しています。これは、 NANDフラッシュ という用語につながります。私はこれがあなたが言及しているNANDであると思うが、完全を期すために私は背景について言及したかった。
あなたはNANDフラッシュでストレージを構築することができます、しかしあなたはそれにアクセスする何らかの方法が必要になるでしょう。
例えば。あなたはPCBの上にNANDフラッシュチップを置くことができます、そして、コントローラチップといくつかのUSBロジックを加えると、あなたはUSBペンドライブを手に入れます。または、 SD コントローラを追加してこのフォーマットにすると、SDカードを入手できます。
どちらも比較的単純なデバイスであり、それらに情報を保存すると、固定の場所に書き込みます。 NANDフラッシュへの書き込み回数が限られているので、これは悪いことです。
コンピュータに一貫したイメージを提供しながら、コントローラにデバイスを追加して、すべての書き込みがNAND全体に均等に分散されるようにすることができます。これには、デバイス部分に関するより多くの情報が必要であり、 SSD で行われます。 (SSDは機械的なハードディスクに取って代わることになっているので、たくさんの書き込みがあると予想されます)。
それらすべての違いは、コントローラーの実装方法だけですか?
SD/USBペンダントの場合:ほとんど同じですが、異なるインタフェースがあります。
SSDの場合:まったく異なるコントローラー。
それとも、テクノロジはまったく異なるのでしょうか。
ナンドストレージを実装する方法はいくつかあります。実装されている主な違いは次のようになります。
それは eMMC を残します。
私はこれまで聞いたことがありませんでしたが、ウィキペディアによるとそれはフラッシュメモリのメモリカード規格です。
Raw Flashは独自のプロトコルを使用します。このプロトコルには、ページの読み取り、ページの書き込み、ブロックの消去が含まれます。それはディスクのようには動作しません - ディスクはブロックを読み書きすることができ、フラッシュはページを読み書きすることができます - そしてと呼ばれるページのセット ブロック 新しいデータを書き込む前に消去する必要があります。あなたはブロックが消耗する前に限られた回数しか消すことができず、もう完全に消すことはできません。
それはメモリカードのフォーマットです。 SDカードには、小型のマイクロコントローラとNANDが含まれています。マイクロコントローラは、ディスクのようなブロックアクセスを受けて、それを意味のあるNAND操作に変換するFTL(Flash Translation Layer)を実装し、さらにウェアレベリングとブロックスペアリングを実行します。 SDカードは "Host"側でSPIプロトコルを使用します。 USB SDカードリーダーは、USBマスストレージコマンドからSPI SDコマンドに変換します。
これは基本的にマザーボードに内蔵されているSDカードと考えることができることを指します(SDとMMC規格は非常によく似ています - SDカードリーダーは通常MMCカードを読むことができます)そして取り外し不可能。通常、内部SPIバスを介して残りのハードウェアに接続されています。携帯電話およびARMハードウェア、および他の組み込み型デバイス(すなわちルータ)はこれを持っているかもしれない。更新:いくつかの新しい値段付きのWindowsネットブックもこれらを持ってい始めています。 SPIバスはSATAバスほど高速ではないため、SDカードおよびeMMCはSSDより低速です。
ハードドライブケースにコントローラ+ NANDの束を配置。コントローラはFTL(Flash Translation Layer)を実装しており、ディスクに似たブロックアクセスを行い、それを意味のあるNAND操作に変換し、さらにウェアレベリングとブロックスペアリングを実行します。 "Sandforce"などのいくつかのコントローラタイプはよく知られています。 SSDは、「ホスト」側のSATAプロトコルとコネクタを使用します。
Guruplugのように生のNANDを扱っている状況にある場合、あなたはウェアレベリングとブロックスペアリングを行う責任があります。 jffs2
のようなLinuxファイルシステムはこれを行いますが、FTLがほとんどのSDカード、USBカードなどで動作する場合は必要ありません。
これらはすべて不揮発性メモリであり、電力なしでデータを保持します。
フラッシュ - 不揮発性メモリの記憶媒体。
NAND - フラッシュメモリチップの種類。
SSD - 多数のNANDチップが含まれています。
FlashとRAM(Random Access Memory)を区別するには、次のように入力します。