- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Currently I'm working on translation of this KBA.
Omoi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I tried to translate this KBA229050 into Japanese.
Implementation of Program/Erase Suspend and Resume Operations in Serial NOR Flash – KBA229050
==========
タイトル:シリアルNORフラッシュのプログラム/消去の一時停止と再開操作の実装
バージョン:**
リアルタイム アプリケーションでは、フラッシュが複数のスレッドから使用される、マルチスレッド環境である場合があります。あるスレッドは読み取り、他のスレッドは読み取り/書き込みを行います。したがって、フラッシュが消去中またはプログラム中でビジーの時にスレッドが読み取る必要がある場合は、読み取りの前に進行中の操作を一時停止する必要があります。プログラム/消去の一時停止操作は、あるスレッドがメモリからデータを読み取り、別のスレッドがフラッシュをプログラムまたは消去するために使用するようなマルチスレッド操作で必要です。
シリアルNORフラッシュ デバイスへのプログラムおよび消去操作は、ステータス レジスタ1の書き込み有効ラッチ(WELビット)が「1」にセットされている場合にのみ実行できます。このビットが「0」にリセットされると、プログラムおよび消去コマンドはデバイスによって無視されます。これはフラッシュ メモリへの不要な変更を避けるために行われます。書き込みイネーブル(WREN)コマンド (06h) の実行によりWELビットが「1」にセットされると、プログラム/消去操作が許可されます。したがって、フラッシュが消去一時停止モードにある間は、プログラム コマンドの前にWRENコマンドが必要です。S25FL512S は、コマンドのシーケンスをより良く理解するための例として使用できます。
プログラム一時停止(PGSP)コマンド (85h) が発行されると、ステータス レジスタ2のプログラム一時停止ビット (SR2[0]) がセットされます。プログラム一時停止モード中は、プログラム一時停止ではないページからの読み取りは可能ですが、消去操作は不可です。デバイスがプログラム一時停止モードの間、ステータス レジスタ1のWELビットはセットされたままです。したがって、プログラム再開(PGRS)コマンド (8Ah) の前にWRENコマンドは必要ありません。
プログラム一時停止を実装するために使用する必要があるコマンドのシーケンスは、次の通りです。
- WREN (06h) コマンド
- CS# をLOWにする
- WRENコマンドを送る
- CS# をHIGHにする
- PP (02h) コマンド
- CS# をLOWにする
- PPコマンドを送る
- アドレスを送る
- データを送る
- CS# をHIGHにする
- PGSP (85h) コマンド
- CS# をLOWにする
- PGSPコマンドを送る
- CS# をHIGHにする
- 所望の読み取り操作の実行
- PGRS (8Ah) コマンド
- CS# をLOWにする
- PGRSコマンドを送る
- CS# をHIGHにする
- ステータス レジスタ1のWIPビットをポーリングして、プログラム操作がエラーなく完了したことを確認します。
消去一時停止(ERSP)コマンド (75h) が発行されると、ステータス レジスタ2の消去一時停止ビット (SR2[1]) がセットされます。デバイスが消去一時停止モードの場合、他の消去一時停止ではないセクタからのデータの読み取りまたはプログラムが可能です。ERSPコマンドを受信してデコードすると、WELビットが「0」にリセットされます。したがって、プログラム コマンドの前にはWRENコマンドを再度発行する必要があります。消去が一時停止されている間にプログラム操作が開始され完了すると、WELビットは「0」にリセットされます。ただし、消去再開(ERRS)コマンド (7Ah) で消去操作を再開する前に、WRENコマンドを再度発行する必要はありません。WELビットはERRSコマンドで「1」にセットされます。
消去一時停止の間にプログラムする操作を実装するために使用する必要があるコマンドのシーケンスは、次の通りです。
- WREN (06h) コマンド
- CS# をLOWにする
- WRENコマンドを送る
- CS# をHIGHにする
- SE (D8h) コマンド
- CS# をLOWにする
- SEコマンドを送る
- アドレスを送る
- CS# をHIGHにする
- ERSP (75h) コマンド
- CS# をLOWにする
- ERSPコマンドを送る
- CS# をHIGHにする
- WREN (06h) コマンド
- CS# をLOWにする
- WRENコマンドを送る
- CS# をHIGHにする
- PP (02h) コマンド
- CS# をLOWにする
- PPコマンドを送る
- アドレスを送る
- データを送る
- CS# をHIGHにする
- ステータス レジスタ1のWIPビットをポーリングして、プログラム操作がエラーなく完了したことを確認します。
- ERRS (7Ah) コマンド
- CS# をLOWにする
- ERRSコマンドを送る
- CS# をHIGHにする
- ステータス レジスタ1のWIPビットをポーリングして、消去操作がエラーなく完了したことを確認します。
==========
BR,
Omoi