
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
FS-S NORフラッシュの4Kバイト パラメータ セクタの使用法 - KBA225181 - Community Translated (JA)
Community Translated by HiOm_1802421 Version: *A
Translation - English: 4KB Parameter Sector Usage on FS-S NOR Flash - KBA225181
質問:
FS-S NORフラッシュ デバイスの4Kバイト パラメータ セクタはどう構成すればよいですか?4Kバイト パラメータ セクタを無効に出来ますか?4Kバイト パラメータ セクタと、通常の64Kバイト/256kバイト セクタの違いは何ですか?
回答:
サイプレスのFS-S NORフラッシュの4Kバイト パラメータ セクタは、以下を提供できる柔軟なアーキテクチャを実装しています。
- フラッシュ上の小容量データ(例えば、パラメータ、タグ、フラグなど)のためにサイズが小さく、スペースの無駄を省くことができます。
- 4Kバイト セクタの消去時間のコストは、通常の64Kバイト/256Kバイト セクタよりも小さいです。
FS-SシリーズNORフラッシュは、各チップに8* 4Kバイト パラメータ セクタを搭載しています。4Kバイト パラメータ セクタをどこに配置するか(フラッシュの最下位アドレスまたは最上位アドレス)、および無効にするかどうかを決められます。一般的な構成を下図に示します。
図1. FS-S NORフラッシュの一般的な4Kバイト パラメータ セクタ構成
4Kバイト パラメータ セクタの位置を変更したり無効にしたりするには、WRAR(71h)コマンドを使用してCR1NVまたはCR3NVを対応するアドレスでプログラムし、RDAR(65h)コマンドを使用して値をリードします。これらのレジスタのアドレスを下表に示します。
表1. FS-S NORフラッシュ不揮発性ステータスおよび構成レジスタのアドレス マップ
Byte Address (Hex) | Register Name | Description |
00000000 | SR1NV | Non-Volatile Status and Configuration Registers |
00000001 | N/A | |
00000002 | CR1NV | |
00000003 | CR2NV | |
00000004 | CR3NV | |
00000005 | CR4NV |
8* 4Kバイト パラメータ セクタは追加の物理領域であり、メイン アレイの64Kバイト/256Kバイト セクタとオーバーラップさせてアドレスを再利用します。これらの4Kバイト パラメータ セクタは、デフォルトではフラッシュ アドレス0x00_0000~0x00_7FFFを使用してアクセスします。
フラッシュ プログラマを使用してフラッシュの最下位アドレスからイメージを書き込む場合(デフォルト設定)、最初の64Kバイト/256Kバイト セクタのスペース以外の8* 4Kバイト パラメータ セクタに最初の32Kバイトのデータがプログラムされます。4Kバイト パラメータ セクタの設定を予期せず変更した場合、最初の32Kバイト アドレス(0x00_0000~0x00_7FFF)のデータが失われたり、他の有用なデータとオーバーラップしたりします。
例1:フラッシュ アレイ全体をデフォルト構成(CR1NV[2](TBPARM_O)=0、CR3NV[3](20h_NV)=0、下位側に8*4Kバイト パラメータ セクタ)でプログラムし、その後CR1NV[2](TBPARM_O)を0から1へ変更した場合、8* 4Kバイト パラメータ セクタにプログラムされたデータがフラッシュの最後のデータとオーバーラップしてしまいます。図2を参照してください。
図2. 4Kバイト パラメータ セクタの設定変更時のデータ オーバーラップ
例2:フラッシュ アレイ全体をデフォルト構成(CR1NV[2](TBPARM_O)=0、CR3NV[3](20h_NV)=0、下側8*4KBのパラメータセクタ)でプログラムし、その後CR3NV[3](20h_NV)を0から1に変更してパラメータ セクタを無効にした場合、8* 4Kバイト パラメータ セクタにプログラムされていたデータは失われてしまいます。図3を参照してください。
図3. 4Kバイト パラメータ セクタ構成を変更する際のデータ欠落
有用なデータが既にフラッシュ上にある場合は、4Kバイト パラメータ セクタ構成を変更することは注意が必要です。TBPARM_Oの望ましい状態は、システム製造時のデバイスの初期構成時に、メイン フラッシュ アレイの最初のプログラムまたは消去操作を行う前に選択する必要があります。TBPARM_Oは、メイン フラッシュ アレイでプログラムまたは消去が行われた後にプログラムしないでください。
更に、4Kバイト パラメータ セクタの消去動作は、通常の64Kバイト/256Kバイト セクタとは異なります。サイプレスは、消去効率を向上させるために、4Kバイト パラメータ セクタ専用の消去コマンドを提供しています。消去コマンドの違いを以下の表に示します。
表2. FS-S NORフラッシュ消去コマンド差分リスト
Erase Commands | Effect on 4KB Parameter Sectors | Effect on 64KB/256KB Sectors |
4KB Sector Erase: P4E(20h) or 4P4E(21h) | Y | N |
Sector Erase: SE(D8h) or 4SE(DCh) | N | Y |
Bulk Erase: BE(60h) or 4BE(C7h) | Y | Y |
消去コマンドが対応するセクタに適合していることを確認してください。
FS-SシリーズのNORフラッシュ デバイスをLinuxで使用する場合、現在のLinux MTDドライバは均一なセクタ サイズしかサポートしていないことに注意してください。詳細は、S25FS-S Support Under Linux - KBA218975を参照してください。
FS01GSデバイスの注意事項:
このデバイスは、デュアルFS512Sダイ スタックで構成されており、4Kバイト パラメータ セクタはデフォルトで最下位アドレスに存在します。4Kバイト パラメータ セクタは、オプションで1Gビット アドレス空間全体の最下位または最上位にのみ配置することができます。これら2つの構成ビットの有効な組み合わせを次の表に示します。
表3. FS01GS 4Kバイト パラメータ セクタ構成オプション
Device | Lower FS512S | Upper FS512S | ||
Parameter Sectors Location | CR1NV[2]( TBPARM_O) | CR3NV[3]( 20h_NV) | CR1NV[2]( TBPARM_O) | CR3NV[3]( 20h_NV) |
None (Uniform Sectors) | X | 1 | X | 1 |
Bottom | 0 | 0 | X | 1 |
Top | X | 1 | 1 | 0 |
Default Configuration | 0 | 0 | 0 | 0 |