HyperFlashの消去完了を読み取る方法 - KBA228048 - Community Translated (JA)

Version 1

    Community Translated by  HiOm_1802421 Expert          Version: **

     

    Translation - English: How to Read Erase Complete Flash in HyperFlash - KBA228048

     

    以下は、前の消去操作が特定のセクタで完了したかどうかを確認するコマンドシーケンスです。(データシート:001-99198 Rev. * M)

    1.png

    2.png

    3.png

     

    ステータス ワードが読み取れたら、ビット0で結果を確認します。

    4.png

    5.png

     

    サイプレス 低レベル ドライバー(LLD) APIを以下に示します。

    9.png

    6.png

     

    7.jpg

    8.png

     

    詳しく見てみます。

    1. ステータスをチェックするセクタは、消去ステータス評価(ESS)コマンド (D0h)のアドレス引数によって選択されます。このコマンドを発行すると、デバイスは選択したセクタのEESステータスをロードします。
    2. ステータス レジスタ読み取りコマンド (70h)は、アレイを、その後の読み取り時に、格納されたデータの表示から(すべてのワード位置)ステータス レジスタの表示へ変更します。つまり、このコマンドにより、デバイスはステータス レジスタ読み出しASOに入ります。
    3. ステータス レジスタ読み取りコマンドの2番目のサイクルは、任意のフラッシュ アドレスからの読み出しです。 これはステータス レジスタ値を返し、デバイスのステータス レジスタ読み取りASOを終了させます。したがって、ステータス レジスタを読み取るたびに、新しいステータス レジスタ読み取りコマンドを発行する必要があります。

     

    これは、ステータス レジスタ読み取りCMD APIを使用できることを意味します。このAPIは、ステップ2を実行するだけです。その後、ソフトウェアは任意のメモリ位置を読み取り、レジスタ値を取得できます。 または、ステップ2と3を実行するAPI(ステータス取得 API)も使用できます。 どちらの方法でも同じ結果になります。

     

    適切なステータスがレジスタにロードされるように、ステータス レジスタ読み取りの前にステップ1を実行する必要があることに注意してください。 このコマンドは、自動的にはステータスレジスタ読み取りASOに入りません。

     

    EES読み取りは「ゼロ時間」操作ではないことに注意してください。(tEESは70-100µs) そのため、デバイスはコマンド実行中は「ビジー」ステータスを返します。信頼性を高めるために、この操作は複数の隠しビットの特殊な読み取りを実行するので、時間がかかります。「消去完了」ステータスを反映させるために、各セクタに多数のビットを格納しているので、EES読み取りは通常のアレイ読み取りほど高速ではありません。

     

    • ビット[7] = DRB = 1は、デバイスが「準備完了」であることを意味します。 これは、EESコマンド完了後の正しいステータスです。
    • ビット[7] = DRB = 0は、デバイスが「ビジー」であることを意味します。 したがって、EESコマンドは完了までにさらに時間が必要です。

     

    つまり、tEESが期限切れになるまで時間遅延を追加するか、デバイスの準備ができるまでステータス レジスタ ビット[7] = DRBをポーリングする必要があります。 ビット[7] = DRB = 1と表示されたら、ESTAT値を信頼できます。

     

    つまり、次のいずれかが表示されます。

     

    • 0b0000000x:EESコマンドが進行中(ビット[7] = DRB = 0)。ESTAT(ビット[0])は信頼できない。
    • 0x81:EESコマンドが完了し、セクターは正常に消去された
    • 0x80:EESコマンドが完了し、セクターは正常に消去されなかった