- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello, Kenshow-san
Confirm to work this KBA.
Thanks,
Jenna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Jenna-san,
Japanese translation was over.
Please check below.
Original KBA:
Block Protection Configuration on FL-S and FS-S NOR Flash – KBA224451
Thanks.
==============================
タイトル: FL-SおよびFS-SNORフラッシュのブロック保護設定– KBA224451
バージョン:**
質問:
FL / SSデバイスに基本ブロック保護を実装および設定するにはどうすればよいですか?
回答:
サイプレスは、FL-SおよびFS-Sデバイスのメモリアレイの全部または一部を書き込み保護するための基本的なブロック保護機能を提供します。選択可能な保護領域を設定でき、場所はフラッシュの上部(上位アドレス)または下部(下位アドレス)のいずれかになります。
表1. 上部アレイの保護開始(TBPROT = 0)
ステータスレジスタの内容 | メモリアレイの保護された部分 | 保護されたメモリ(KB) | ||||
BP2 | BP1 | BP0 | FL/S128S | FL/S256S | FL/S512S | |
0 | 0 | 0 | 無し | 0 | 0 | 0 |
0 | 0 | 1 | Upper 64th | 256 | 512 | 1024 |
0 | 1 | 0 | Upper 32nd | 512 | 1024 | 2048 |
0 | 1 | 1 | Upper 16th | 1024 | 2048 | 4096 |
1 | 0 | 0 | Upper 8th | 2048 | 4096 | 8192 |
1 | 0 | 1 | Upper 4th | 4096 | 8192 | 16384 |
1 | 1 | 0 | Upper Half | 8192 | 16384 | 32768 |
1 | 1 | 1 | すべてのセクタ | 16384 | 32768 | 65536 |
表2. 下部アレイの保護開始(TBPROT = 1)
ステータスレジスタの内容 | メモリアレイの保護された部分 | 保護されたメモリ(KB) | ||||
BP2 | BP1 | BP0 | FL / S128S | FL / S256S | FL / S512S | |
0 | 0 | 0 | 無し | 0 | 0 | 0 |
0 | 0 | 1 | Lower 64th | 256 | 512 | 1024 |
0 | 1 | 0 | Lower 32nd | 512 | 1024 | 2048 |
0 | 1 | 1 | Lower 16th | 1024 | 2048 | 4096 |
1 | 0 | 0 | Lower 8th | 2048 | 4096 | 8192 |
1 | 0 | 1 | Lower 4th | 4096 | 8192 | 16384 |
1 | 1 | 0 | Lower Half | 8192 | 16384 | 32768 |
1 | 1 | 1 | すべてのセクタ | 16384 | 32768 | 65536 |
保護は、ステータスレジスタとコンフィグレーションレジスタを設定することで構成できます。ただし、FL-SデバイスとFS-Sデバイスにはいくつかの違いがあります。
FL-Sデバイスの場合、SR1とCR1はデバイスのデータシートに従って設定する必要があります。
表3. FL-Sステータスレジスタ1(SR = 1)
ビット | フィールド名 | 機能 | タイプ | デフォルトの状態 | 説明 |
7 | SRWD | ステータスレジスタ書き込み無効 | 不揮発性 | 0 | 1 = WRRコマンドを無視して、WP#がLOWの場合、SRWD、BP、およびコンフィグレーションレジスタビットの状態をロックします。 |
6 | P_ERR | ステータスレジスタ書き込み無効 | 揮発性、読み取り専用 | 0 | 1 =エラーが発生しました 0 =エラーなしr |
5 | E_ERR | 消去エラーの発生 | 揮発性、読み取り専用 | 0 | 1 =エラーが発生しました |
4 | BP2 | ブロック保護 | CR1 [3] = 1の場合は揮発性、 CR1 [3] = 0の場合は不揮発性 | CR1 [3] = 1の場合は1、サイプレスから出荷された場合は0 | 選択した範囲のセクタ(ブロック)をプログラムまたは消去から保護します。 |
3 | BP1 | ||||
2 | BP0 | ||||
1 | WEL | 書き込みイネーブルラッチ | 揮発性 | 0 | 1 =デバイスは書き込みレジスタ(WRR)、プログラム、または消去コマンドを受け入れます。 |
0 | WIP | 進行中の書き込み | 揮発性、読み取り専用 | 0 | 1 =デバイスビジー、書き込みレジスタ(WRR)、プログラム、消去、またはその他の操作が進行中です。 |
表4. FL-Sコンフィグレーションレジスタ1(CR = 1)
ビット | フィールド名 | 機能 | タイプ | デフォルトの状態 | 説明 |
7 | LC1 | レイテンシコード | 不揮発性 | 0 | 初期読み取り待ち時間サイクルの数を選択します。 |
6 | LC0 | 0 | |||
5 | TBPROT | ブロック保護の開始を設定 | OTP | 0 | 1 = BPは下部から始まります(下位アドレス)。 |
4 | RFU | RFU | OTP | 0 | 将来の使用のために予約されています。 |
3 | BPNV | ステータスレジスタでBP2-0を設定 | OTP | 0 | 1 =揮発性 |
2 | TBPARM | パラメータセクタの場所を設定 | OTP | 0 | 1 =上部に4KBの物理セクタ(上位アドレス)。 |
1 | QUAD | デバイスをクアッドI/O操作にする | 不揮発性 | 0 | 1 =クワッド |
0 | FREEZE | ステータスレジスタのBP2-0ビット、コンフィグレーションレジスタのTBPROTとTBPARM、およびOTP領域の現在の状態をロックする | 揮発性 | 0 | 1 =ブロック保護とOTPロック。 |
- SR1 [4:2](BP2-0)は保護範囲を定義します。
- CR1 [5](TBPROT)は、上部または下部のブロック保護位置を定義します。
- CR1 [3](BPNV)は、SR1 [4:2]のBP2-0のプロパティを定義します。BPNV= 0の場合、BP2-0は不揮発性であり、構成はPOR後も存続できます。BPNV = 1の場合、BP2-0は揮発性であり、パワーオンリセット(POR)後に値は常に111bにリセットされます。
- CR1 [0](FREEZE)は、BP2-0、TBPROT、およびBPNVビットを予期しない変更から次のPORまでロックできます。これらのビットを変更するとエラーが報告され、FREEZE = 1の場合は失敗します。FREEZEビットは揮発性であり、POR後に0にリセットされます。
BPNVビットとTBPROTビットはOTPビットであり、「0」から「1」に一度だけ設定でき、それ以上元に戻すことはできないことに注意してください。これらのビットを構成するときは注意してください。SRおよびCRを設定する前に、WRENコマンドを適用してさらにWRRコマンドを有効にする必要があります。
ブロック保護構成を変更した後は、FREEZEビットを「1」に設定することをお勧めします。FREEZEビットが「1」に書き込まれると、PORまたはハードウェアリセットによってのみ「0」にクリアできます。ソフトウェアリセットは、FREEZEビットの状態には影響しません。これにより、予期しない変更やハッキングを防ぐことができます。
FS-Sデバイスの場合、SR1(N)VおよびCR1(N)Vはデバイスのデータシートに従って設定する必要があります。
表5. FS-Sステータスレジスタ1の揮発性(SR1V)
ビット | フィールド名 | 機能 | タイプ | デフォルトの状態 | 説明 |
7 | SRWD | ステータスレジスタ書き込み無効 | 揮発性読み取り専用 | SR1NV | SR1NVの揮発性コピー[7]。 |
6 | P_ERR | プログラミングエラーの発生 | 揮発性読み取り専用 | 1 =エラーが発生しました。 | |
5 | E_ERR | 消去エラーの発生 | 揮発性 | 1 =エラーが発生しました。 | |
4 | BP2 | ブロック保護揮発性 | 揮発性 | BPビットが揮発性(CR1NV [3] = 1)として設定されている場合、選択した範囲のセクタ(ブロック)をプログラムまたは消去から保護します。これは、BPビットが不揮発性として設定されている場合のSR1NV [4:2]の揮発性コピーです。BPビットが揮発性として設定されている場合、ユーザーは書き込み可能です。 | |
3 | BP1 | ||||
2 | BP0 | ||||
1 | WEL | 書き込みイネーブルラッチ | 揮発性 | 1 =デバイスは、書き込みレジスタ(WRRおよびWRAR)、プログラム、または消去コマンドを受け入れます。 | |
0 | WIP | 書き込み中 | 揮発性読み取り専用 | 1 =デバイスビジー、プログラムや消去などの組み込み操作が進行中です。 |
表6. FS-Sステータスレジスタ1の不揮発性(SR1NV)
ビット | フィールド名 | 機能 | タイプ | デフォルトの状態 | 説明 |
7 | SRWD_NV | ステータスレジスタ書き込み無効デフォルト | 不揮発性 | 0 | 1 = SR1NV、SR1V、CR1NV、またはCR1Vに影響を与えるWRRまたはWRARコマンドを実行しないことにより、WP#がLowのときにSRWD、BP、およびコンフィグレーションレジスタ1ビットの状態をロックします。 |
6 | P_ERR_D | プログラミングエラーのデフォルト | 不揮発性 | 0 | プログラミングエラーステータスのデフォルト状態を提供します。ユーザーがプログラムすることはできません。 |
5 | E_ERR_D | エラーのデフォルトを消去 | 不揮発性 | 0 | 消去エラーステータスのデフォルト状態を提供します。ユーザーがプログラムすることはできません。 |
4 | BP_NV2 | ブロック保護不揮発性 | 不揮発性 | 000b | BPビットが不揮発性(CR1NV [3] = 0)として構成されている場合、選択した範囲のセクタ(ブロック)をプログラムまたは消去から保護します。BPビットが揮発性(CR1NV [3] = 1)に構成されている場合、111bにプログラムされます。その後、これらのビットはユーザーがプログラムできなくなります。 |
3 | BP_NV1 | ||||
2 | BP_NV0 | ||||
1 | WEL_D | WELのデフォルト | 不揮発性 | 0 | WELステータスのデフォルト状態を提供します。ユーザーがプログラムすることはできません。 |
0 | WIP_D | WIPのデフォルト | 不揮発性 | 0 | WIPステータスのデフォルト状態を提供します。ユーザーがプログラムすることはできません。 |
表7. FS-Sコンフィグレーションレジスタ1揮発性(CR1V)
ビット | フィールド名 | 機能 | タイプ | デフォルトの状態 | 説明 |
7 | RFU | 将来の使用のために予約 | 揮発性 | CR1NV |
|
6 | RFU | ||||
5 | TBPROT | TBPROT_Oの揮発性コピー | 揮発性 | ユーザーによる書き込みはできません。 | |
4 | RFU | 将来の使用のために予約 | RFU |
| |
3 | BPNV | BPNV_Oの揮発性コピー | 揮発性 | ユーザーによる書き込みはできません。 | |
2 | TBPARM | TBPARM_Oの揮発性コピー | 揮発性 | ユーザーによる書き込みできません。 | |
1 | QUAD | クワッドI/Oモード | 揮発性 | 1 =クワッド。 | |
0 | FREEZE | 次の電源サイクルまでのロックダウンブロック保護 | 揮発性 | ブロック保護制御ビットとOTP領域の現在の状態をロックします。 |
表8. FS-Sコンフィグレーションレジスタ1不揮発性(CR1NV)
ビット | フィールド名 | 機能 | タイプ | デフォルトの状態 | 説明 |
7 | RFU | 将来の使用のために予約 | 不揮発性 | 0 |
|
6 | RFU | 0 | |||
5 | TBPROT_O | ブロック保護の開始を設定 | OTP | 0 | 1 = BPは下部から始まります(下位アドレス)。 |
4 | RFURFU | 将来の使用のために予約 | RFU | 0 |
|
3 | BPNV_O | ステータスレジスタでBP2-0を設定 | OTP | 0 | 1 =揮発性。 |
2 | TBPARM_O | パラメータセクタの場所を設定 | OTP | 0 | 1 =上部に4KBの物理セクタ(上位アドレス)。 |
1 | QUAD_NV | クワッド不揮発性 | 不揮発性 | 0 | QUADビットのデフォルト状態を提供します。 |
0 | FREEZE_D | FREEZEデフォルト | 不揮発性 | 0 | フリーズビットのデフォルト状態を提供します。ユーザーがプログラムすることはできません。 |
- SR1V [4:2](BP2-0)は、揮発性バージョンの保護範囲を定義します。
- SR1NV [4:2](BP_NV2-0)は、不揮発性バージョンの保護範囲を定義します。
- CR1NV [5](TBPROT_O)は、上部または下部のブロック保護位置を定義します。
- CR1NV [3](BPNV_O)は、デバイスで有効になるBP設定のコピーを定義します。BPNV_O = 0の場合、不揮発性BP_NV2-0が有効になります。BPNV_O = 1の場合、揮発性BP2-0が有効になります。
- CR1V [0](FREEZE)は、BP2-0 / BP_NV2-0、TBPROT_O、およびBPNV_Oビットを予期しない変更から次のPORまでロックできます。これらのビットを変更するとエラーが報告され、FREEZE = 1の場合は失敗します。FREEZEビットは揮発性であり、POR後に「0」にリセットされます。
BPNV_OビットとTBPROT_Oビットは、「0」から「1」まで設定できるOTPビットであることに注意してください。一度だけで、元に戻すことはできません。これらのビットを構成するときは、必ず注意してください。SRおよびCRを設定する前に、WRENコマンドを適用してさらにWRRおよびWRARコマンドを有効にする必要があります。
ブロック保護構成を変更した後は、FREEZEビットを「1」に設定することをお勧めします。FREEZEビットが「1」に書き込まれると、PORまたはハードウェアリセットによってのみ「0」にクリアできます。ソフトウェアリセットは、FREEZEビットの状態には影響しません。これにより、予期しない変更やハッキングを防ぐことができます。
FS01GSデバイスに関する注意:
このデバイスは、デュアルダイスタックで構成されています。CS#ピンが1つしかない場合、WRR、RDSR1、RDCRなど、特定のアドレスサイクルのない一部のコマンドはサポートされません。各FS512Sダイに対応するレジスタの4バイトアドレスを持つWRARおよびRDARコマンドは、ブロック保護構成に使用されます。各ダイのセクタを保護するために、必要に応じて各FS512Sでブロック保護を構成する必要があります。各FS512SのTBPROT_Oビットは同じように設定する必要があるため、BP保護範囲は両方のFS512Sダイで上または下に向けられていることに注意してください。
ブロック保護は、サイプレスQSPINORフラッシュデバイスの基本的な保護機能です。個々のセクタで複雑で柔軟な保護を実現するには、高度なセクタ保護(ASP)機能が必要です。ASP機能の詳細については、AN98551-サイプレスクアッドSPI、オクタルSPI、およびハイパーフラッシュデバイスファミリの高度なセクタ保護(ASP)を参照してください。
==============================
16-Nov-2020