シリアルNORフラッシュのプログラム/消去の一時停止と再開操作の実装 - KBA229050 - Community Translated (JA)

Version 3

    Community Translated by  HiOm_1802421        Version: **

     

    Translation - English: Implementation of Program/Erase Suspend and Resume Operations in Serial NOR Flash – KBA229050

     

    リアルタイム アプリケーションでは、フラッシュが複数のスレッドから使用される、マルチスレッド環境である場合があります。一部のスレッドは読み出し、他のスレッドは読み出し/書き込みを行います。したがって、フラッシュが消去中またはプログラム中でビジーの時にスレッドが読み出す必要がある場合は、読み出しの前に進行中の操作を一時停止する必要があります。プログラム/消去の一時停止操作は、スレッドの1つがメモリからデータを読み出し、別のスレッドがフラッシュをプログラムまたは消去するために使用するようなマルチスレッド操作で必要です。

     

    シリアルNORフラッシュ デバイスへのプログラムおよび消去操作は、ステータス レジスタの書き込み有効ラッチ (WELビット) が「1」にセットされている場合にのみ実行できます。このビットが「0」にリセットされると、プログラムおよび消去コマンドはデバイスによって無視されます。これはフラッシュ メモリへの不要な変更を避けるために行われます。書き込み有効 (WREN) コマンド (06h) の実行によりWELビットが「1」にセットされ、プログラム/消去操作が可能になります。したがって、フラッシュが消去一時停止モードにある間は、プログラム コマンドの前にWRENコマンドが必要です。S25FL512S 製品は、コマンドのシーケンスをより良く理解するための例として使用できます。

     

    プログラム一時停止 (PGSP) コマンド (85h) が発行されると、ステータス レジスタ2のプログラム一時停止ビット (SR2[0]) がセットされます。プログラム一時停止モード中は、プログラム一時停止ではないページからの読み出しは可能ですが、消去操作はできません。デバイスがプログラム一時停止モードの間、ステータス レジスタ1のWELビットはセットされたままです。したがって、プログラム再開 (PGRS) コマンド (8Ah) の前にWRENコマンドは必要ありません。

     

    プログラム一時停止を実装するために使用する必要があるコマンドのシーケンスは、次のとおりです。

    • WREN (06h) コマンド
      • Pull CS# LOW
      • Send WREN command
      • Pull CS# HIGH
    • PP (02h) コマンド
      • Pull CS# LOW
      • Send PP command
      • Send Address
      • Send Data
      • Pull CS# HIGH
    • PGSP (85h) コマンド
      • Pull CS# LOW
      • Send PGSP command
      • Pull CS# HIGH
    • 所望の読み出し操作の実行
    • PGRS (8Ah) コマンド
      • Pull CS# LOW
      • Send PGRS command
      • Pull CS# HIGH
    • ステータス レジスタ1のWIPビットをポーリングして、プログラム操作がエラーなく完了したことを確認してください。

     

    消去一時停止 (ERSP) コマンド (75h) が発行されると、ステータス レジスタ2の消去一時停止ビット (SR2[1]) がセットされます。デバイスが消去一時停止モードの場合、他の消去一時停止ではないセクタからのデータの読み出しまたはプログラムが可能です。ERSPコマンドを受信してデコードすると、WELビットが「0」にリセットされます。したがって、プログラム コマンドの前にはWRENコマンドを再度発行する必要があります。消去が一時停止されている間にプログラム操作が開始され完了すると、WELビットは「0」にリセットされます。ただし、消去再開(ERRS)コマンド (7Ah) で消去操作を再開する前に、WRENコマンドを再度発行する必要はありません。WELビットはERRSコマンドで「1」にセットされます。 消去一時停止の間にプログラムする操作を実装するために使用する必要があるコマンドのシーケンスは、次のとおりです。

    • WREN (06h) コマンド
      • Pull CS# LOW
      • Send WREN command
      • Pull CS# HIGH
    • SE (D8h) コマンド
      • Pull CS# LOW
      • Send SE command
      • Send Address
      • Pull CS# HIGH
    • ERSP (75h) コマンド
      • Pull CS# LOW
      • Send ERSP command
      • Pull CS# HIGH
    • WREN (06h) コマンド
      • Pull CS# LOW
      • Send WREN command
      • Pull CS# HIGH
    • PP (02h) コマンド
      • Pull CS# LOW
      • Send PP command
      • Send Address
      • Send Data
      • Pull CS# HIGH
    • ステータス レジスタ1のWIPビットをポーリングして、プログラム操作がエラーなく完了したことを確認してください。
    • ERRS (7Ah) コマンド
      • Pull CS# LOW
      • Send ERRS command
      • Pull CS# HIGH
    • ステータス レジスタ1のWIPビットをポーリングして、消去操作がエラーなく完了したことを確認してください。