回答:
NANDはN egated ANDを表します。しばしば、シリコンから論理ゲートを構築する方法を指し ます。
フラッシュメモリもシリコンチップから構築され、NANDゲートを使用します。これは、NANDフラッシュという用語につながります。これはあなたが言及しているNANDだと思いますが、完全を期すために背景について言及したいと思います。
NANDフラッシュを使用してストレージを構築できますが、それにアクセスするには何らかの方法が必要になります。
たとえば、NANDフラッシュチップをPCBに配置し、コントローラーチップといくつかのUSBロジックを追加して、USBペンドライブを取得できます。または、SDコントローラーを追加してこの形式にすると、SDカードを取得できます。
どちらも比較的単純なデバイスであり、デバイスに情報を保存すると、固定された場所に書き込まれます。NANDフラッシュへの書き込み回数が制限されているため、これは悪いことです。
コントローラをデバイスに追加すると、すべての書き込みがNAND全体に均等に分散され、コンピューターに一貫したイメージが提供されます。これには、デバイス部分のより多くのインテリジェンスが必要であり、SSDで実行されます。(SSDは機械的なハードディスクに取って代わるものであるため、大量の書き込みが発生することが予想されます)。
それらすべての違いは、コントローラーの実装方法だけですか?
SD / USBペンダントの場合:ほとんど同じで、インターフェイスが異なります。
SSDの場合:完全に異なるコントローラー。
それとも、テクノロジーはすべて一緒に異なっていますか?
nandストレージを実装するには、いくつかの方法があります。実装された主な違いは次のようになります。
聞いたことはありませんが、ウィキペディアによると、フラッシュメモリメモリカードの標準です。
Rawフラッシュは独自のプロトコルを使用します。このプロトコルには、ページの読み取り、ページの書き込み、ブロックの消去が含まれます。ディスクのように機能しません-ディスクはブロックの読み取りとブロックの書き込みが可能で、フラッシュはページの読み取りと書き込みができます- ブロックと呼ばれるページのセットは、 新しいデータを書き込む前に消去する必要があります。消去できるのは限られた回数だけで、ブロックが摩耗して完全に消去されることはありません。
これはメモリカード形式です。SDカードには、小さなマイクロコントローラーとNANDが含まれています。マイクロコントローラーは、ディスクのようなブロックアクセスを取得して意味のあるNAND演算に変換するFTL(Flash Translation Layer)を実装し、ウェアレベリングとブロックスペアリングを実行します。SDカードは、「ホスト」側でSPIプロトコルを使用します。USB SDカードリーダーは、USBマスストレージコマンドからSPI SDコマンドに変換します。
これは基本的に、マザーボードに組み込まれたSDカードと考えることができるものを指します(SDとMMCの標準は非常に似ています-SDカードリーダーは通常MMCカードを読み取ることができます)-通常ははんだ付けされており、取り外しできません。通常、内部SPIバスを介して残りのハードウェアに接続されます。携帯電話とARMハードウェア、およびその他の組み込み型デバイス(ルーターなど)にはこれがあります。更新:一部の新しい価格帯のWindowsネットブックにもこれらの機能が搭載され始めています。SPIバスはSATAバスほど高速ではないため、SDカードとeMMCはSSDよりも低速です。
コントローラー+ハードドライブケースに配置されたNANDの束。コントローラーは、ディスクのようなブロックアクセスを取得して意味のあるNAND操作に変換するFTL(Flash Translation Layer)を実装し、ウェアレベリングとブロックスペアリングを実行します。「サンドフォース」などの一部のコントローラータイプはよく知られています。SSDは、「ホスト」側でSATAプロトコルとコネクタを使用します。
Guruplugなど、未加工のNANDを扱っている状況にある場合は、ウェアレベリングとブロックスペアリングを行う責任があります。などのLinuxファイルシステムjffs2
はこれを行いますが、ほとんどのSDカード、USBカードなどでFTLが機能する場合は必要ありません。