
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
シリアル フラッシュ デバイスの不揮発性と揮発性レジスタ - KBA228310 - Community Translated (JA)
Community Translated by HiOm_1802421 Version: **
Translation - English: Volatile and Non-Volatile Registers in Serial Flash Devices – KBA228310
質問:
サイプレスのシリアル フラッシュ デバイスは、その動作に揮発性と不揮発性のステータスおよび構成レジスタをどのように使用しますか?
回答:
一部のサイプレスのシリアル NOR フラッシュ デバイスには、メモリ デバイスの動作を構成したり、デバイス動作の状態を示すために使用されるメモリ セルの小さなグループに分割された揮発性と不揮発性のステータスおよび構成レジスタがあります。同じレジスタ空間で揮発性、不揮発性、読み取り専用またはOTPビットが混合していることがあります。
どれかのレジスタの不揮発性版が更新されると、対応する揮発性レジスタが新しい値に自動的に更新されます。不揮発性レジスタから揮発性の対応するレジスタへ直ちに波及します。この挙動は、不揮発性レジスタの値を更新するために使用されたコマンドに依存しません。不揮発性レジスタは、パワーオン リセット(PoR)、ハードウェア リセット、またはソフトウェア リセット後の揮発性レジスタの初期化にのみ使用されます。フラッシュ デバイスの動作中には常に揮発性レジスタの値を使用します。不揮発性ビットは、メイン フラッシュ アレイと同じサイクル(消去およびプログラム)耐久性を持っています。そのため、システム起動毎に不揮発レジスタ ビットへ書き込まないことを強くお勧めします。不揮発性レジスタへ書き込むときは、電源が乱れのない安定した状態であることに特に注意する必要があります。これにより、正しいデータがレジスタに書き込まれることが保証されます。
揮発性レジスタ ビットは、対応する不揮発性レジスタ ビットと異なる値にいつでも変更できます。揮発性レジスタ ビットが書き込まれると、レジスタの揮発性版のみ適切なビットが更新されます。対応する不揮発性レジスタ ビットは更新されません。パワーオン リセット、ハードウェア リセット、またはソフトウェア リセット時に、揮発性レジスタ ビットは対応する不揮発性レジスタからリロードされます。
OTPビットの場合、不揮発OTPビットが更新されると、そのビットが対応する揮発性ビットは新しい値に直ちに更新されます。不揮発性OTPビットを再度更新しようとすると、(期待した通りに)このビットの値は更新されず、対応する揮発性の値も同じままです。つまり、揮発性の対応ビットも更新されません。
しかし、そうは言っても、不揮発性OTPビットが一度プログラムされていても、そのビットの揮発性の対応ビットが本質的に揮発性の読み取り専用ではないため、揮発性の対応ビットは不揮発性のOTPビットとは異なる値に変更できることに注意してください。デバイスの動作は、揮発性レジスタ ビットの値によって制御されます。
これを理解するために例を使用して、S25FS512Sデバイスでブロック保護がどのように機能するかを見てみましょう。次の表は、ステータス レジスタ-1のビットを示しています。
ステータス レジスタ-1 不揮発 (SR1NV)
ビット | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
フィールド名 | SRWD_NV | P_ERR_D | E_ERR_D | BP_NV2 | BP_NV1 | BP_NV0 | WEL_D | WIP_D |
ステータス レジスタ-1 揮発 (SR1V)
ビット | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
フィールド名 | SRWD | P_ERR | E_ERR | BP2 | BP1 | BP0 | WEL | WIP |
SR1NV の BP_NV[2-0] および SR1V の BP[2-0] ビットは、フラッシュ アレイの保護を制御します。これらのビット構成が保護するメモリ範囲の大きさは、両方のビット セットで同じです。BP_NV[2-0] ビットを [1-1-1] で、BP[2-0] ビットを [1-1-1] でプログラムするとします。
BP_NV2 | BP_NV1 | BP_NV0 | Protected Fraction of Memory | BP2 | BP1 | BP0 | Protected Fraction of Memory | |
1 | 1 | 1 | All Sectors | 1 | 1 | 0 | Upper Half |
BP_NVビット構成はフラッシュアレイ全体を保護しますが、BPビットは上半分のみを保護します。このような場合、BPビット [1-1-0] の値が、その動作サイクル中にブロック保護を制御するために使用され、メモリの上半分のみが保護されたままになります。次の電源投入、ハードウェア リセット、またはソフトウェア リセットで BP ビットは BP_NV ビットを使用して初期化され、[1-1-1] に更新されメモリ全体を保護します。ブロック保護構成を変更するには、保護を解除するために必要なメモリの割合に応じて、BP ビットを他の値にプログラム出来ます。上記の例では、フラッシュ アレイ全体が、パワーオン リセット、ハードウェア リセット、またはソフトウェア リセットの度に保護されたままになります。この初期化構成を変更するには、BP_NV ビットを変更する必要があります。