NORフラッシュサポート
NORフラッシュドライバ
NORフラッシュドライバは、任意のCFI準拠の16ビットチップで使用することができます。共通フラッシュメモリインタフェース(CFI)は、それらのデバイスのフラッシュメモリベンダーが自由に実装することができるオープンな仕様です。それは、Intel、AMD、シャープ、富士通によって共同開発されました。CFIの背景にある考え方は、異なるベンダーによって提供される現在および将来のフラッシュメモリデバイスの互換性だ。あなただけCFI準拠のフラッシュメモリチップを使用すると、フラッシュチップ自体の識別情報を読み出すことにより異なるフラッシュ製品用つのドライバを使用することができます。このようなメモリのサイズ、バイト/ワード設定、ブロック構成、必要な電圧、およびタイミング情報などのデバイスの識別情報は、直接チップ上に格納されています。
テスト済みの互換性のあるNOR点滅
一般的には、ドライバがリストに示されている要件を満たすほとんどすべてのシリアルおよびパラレルNOR点滅をサポートしています。これには、NOR 1 × 8ビット、1 × 16ビットと2X16ビットインターフェイスで点滅します。
下の表は、シリアルNORテストまたはテストされたデバイスと互換性のあるされている点滅を示しています。
メーカー | デバイス | サイズ |
---|---|---|
STマイクロエレクトロニクス | M25P40 M25P80 M25P16 M25P32 M25P128 |
4Mバイト(512Kバイト× 8) 8Mバイト(1Mbytes × 8) 16Mバイト(2Mバイト× 8) 32Mバイト(4Mバイト× 8) 128 Mバイト(16Mbytes × 8) |
下の表は、テスト済みまたはテスト済みのデバイスと互換性のあるされているパラレルNOR点滅を示しています。
メーカー | デバイス | サイズ[ビット] |
---|---|---|
インテル | インテル28FxxxP30 インテル28FxxxP33 |
64Mバイト- 1Gバイト 64Mバイト- 512Mバイト |
ST -マイクロエレクトロニクス | M28W160 M28W320 M28W640 M29F080 M29W160 M29W320 M29W640 M58LW064 |
16Mバイト(1Mバイト× 16) 32Mバイト(2Mバイト× 16) 64Mバイト(4Mバイト× 16) 8 Mバイト(1Mバイト× 8) 16Mバイト(2Mバイト× 8または1Mバイト× 16) 32Mバイト(4Mバイト× 8または2Mバイト× 16) 64Mバイト(8Mバイト× 8または4バイト× 16) 64Mバイト(8Mバイト× 8、4Mバイト× 16) |
ミクロン | MT28F128 MT28F256 MT28F320 MT28F640 |
128Mバイト 256Mバイト 32Mバイト 64Mバイト |
このリストでは利用できないデバイスのサポート
他のほとんどのNORフラッシュデバイスはサポートされているデバイスのいずれかと互換性があります。したがって、ドライバは、これらのデバイスに使用することができますかだけ簡単に行うことができる小さな変更を、必要な場合があります。あなたがこのリストにないデバイスのサポートに関する質問がある場合には、ご連絡を。
オペレーションの理論
このセクションを理解する"論理セクタ"または"ブロック"と"物理的なセクター"を区別することは非常に重要です。論理セクタ/ブロックは、任意のファイルシステムの基本単位であり、その通常のサイズは512バイトです。物理セクタは( - 128Kバイト典型的に2キロバイトの間で)一緒に消去されているフラッシュチップ上のバイトの配列です。フラッシュチップのドライバはセクタこれらの2つのタイプの間に抽象化層です。論理セクタが更新されるたびに、それは無効とマークされており、この分野の新しいコンテンツは、フラッシュの別の領域に書き込まれます。物理アドレスと物理セクタの順番は、すべての書き込みアクセスに変更することができます。したがって、セクタの番号とその物理的な位置との間の直接的な関係が存在することはできません。フラッシュドライバは、特別なヘッダにそれを書き込むことによって、論理セクタ番号を管理します。それは、論理セクタが格納されていたか、どのくらいのフラッシュメモリをバッファとして使用される上位層には関係ありません。すべての論理セクタは、(セクタ#0で始まる)は常に存在し、常にユーザーのアクセスのために用意されていますか。同じの使い方
コードとデータ用のNORフラッシュ
ほとんどのNORフラッシュがプログラム中に読み出すことができないが、消去や操作を識別します。これは、そのコードがプログラムまたはイレーズ動作中に、NORフラッシュメモリから読み込むことができないことを意味します。データストレージ用に使用されるのと同じNORフラッシュメモリに常駐するコードは、プログラムまたは消去時に実行された場合、プログラムのクラッシュはほぼ確実である。これを解決するために複数のオプションがあります。
- 複数のNOR点滅に使用します。コードとデータ用に一つずつフラッシュを使用してください。
- 読書バンクBANK Bがプログラムされている間できるように、複数の銀行とのNORフラッシュを、使用してください。
- 、NORフラッシュメモリはRAMと割り込みに配置されている消去または識別プログラムハードウェアルーチンが無効になっていることを確認してください。
物理インタフェース
このデバイスは16ビットのインタフェースを持つ単一または2つの同一のCFI準拠のフラッシュのインターフェースで構成することができます。最も一般的には、16ビットのインタフェースとCFI準拠のNORフラッシュチップです。
このソリューションの横に、EMFILEは、同じアドレスバスに接続されている16ビットのインターフェースを持つ2つのCFI準拠のNORフラッシュチップをサポートしています。
EMFILE NORフラッシュドライバは、両方のオプションをサポートしています。
フェイルセーフ動作
EMFILE NORドライバはフェイルセーフです。つまり、ドライバだけアトミックアクションを行うと、ファイルシステムによって管理されるデータが常に有効であることの責任を取ることを意味します。書き込み動作時の電力損失または電源リセットされた場合、それは常に、有効なデータのみをフラッシュに格納されていることが保証されます。電力損失が中断書き込み操作をした場合、古いデータは保持され、壊れていないことになります。
平準化を着用する
ウェアレベリングは、ドライバによってサポートされています。ウェアレベリングは、消去サイクルの数は、各部門のほぼ等しい状態に保つことができます。最大消去回数の差は5に設定されています。ウェアレベリングが最も低い消去カウントでセクターを使用する前に、この値は、異なる物理セクタの消去カウントの最大の差を指定します。