書き込み保護設定でのF-RAMおよびnvSRAMデバイスのアドレスロールオーバースキームの違い - KBA88168 - Community Translated (JA)

Version 1

    Community Translated by NoTa_4591161          Version: **

     

    Translation - English: Differences Between Address Roll-Over Schemes in F-RAM and nvSRAM Devices Under Write-Protect Settings - KBA88168

     

    質問:

    F-RAMの最後のアドレスにデータが書き込まれると、ロールオーバーが発生しますでしょうか?nvSRAMとどのように異なるのでしょうか?F-RAMに書き込み保護ブロックがあるとどうなりますでしょうか?

     

    回答:

    F-RAMデバイスで一括書き込みが開始されると、その内部アドレスカウンタは、バイト書き込みが成功するたびに、次のメモリ位置に自動的にインクリメントします。内部アドレスカウンタがF-RAMデバイスの最後のメモリアドレスに到達すると、さらに自動インクリメントされて、アドレスカウンタがその開始アドレスにロールオーバーします。したがって、さらに書き込みを行うと、以前に書き込まれたデータが上書きされます。

    64 Kビットデバイスについて考えた場合、8192の場所があり、64Kビットの場所にアクセスするには13ビットのアドレスが必要になります。書き込み操作を開始し、最後のメモリ位置(アドレス0x1FFF)の後でも書き込みを続行すると、内部アドレスカウンタはデバイスの開始アドレス(0x0000)にロールオーバーし、その位置から増加し続けます。たとえば、アドレス0x1FFCから書き込みを開始し、8バイトを順番に書き込む場合、アドレス0x1FFC0x1FFD0x1FFE0x1FFF0x00000x00010x0002、および0x0003に書き込みます。

    ただし、メモリブロックが書き込み保護されている場合(ステータスレジスタのブロック保護ビットBP0およびBP1が設定されている場合)、nvSRAMデバイスとF-RAMデバイスには違いがあります。

    nvSRAMでは、書き込みポインタが保護ブロックに入ると、アドレスカウンタは増加し続けます。ただし、実際の書き込みは行われません。アドレスカウンタが保護されていないブロック領域に到達すると、書き込みが再開されます。上位4分の1ブロック(アドレス0x18000x1FFF)が書き込み禁止になっているnvSRAMについて考えてみます。一括書き込みがアドレス0x1700で開始され、保護ブロックに継続される場合、データはアドレス0x17000x17FFに書き込まれますが、0x18000x1FFFに書き込まれたデータは失われ、それ以降のデータは実際にはアドレス0x0000以降に書き込まれます。つまり、コントローラは保護されたブロックを考慮に入れ、保護されていないブロックに対してのみ一括書き込みを実行する必要があります。

    一方、F-RAMデバイスでは、書き込みポインタが保護されていないブロックの最後のメモリ位置からインクリメントすると、アドレスのインクリメントが停止し、その結果、データの書き込みが保護されたメモリブロックで停止します。上部4分の1ブロック(アドレス0x18000x1FFF)が書き込み禁止になっているF-RAMについて考えてみます。一括書き込みがアドレス0x1700で開始され、保護されたブロックに続く場合、データはアドレス0x17000x17FFに書き込まれます。次のデータバイトはアドレス0x1800に書き込まれません。また、アドレスの増分はアドレス0x1800で停止します。以降の書き込みはすべて失われます。