SPI NOR Flashページプログラムおよび消去操作でタイムアウトタイマー値を設定するためにSFDPデータを使用 – KBA230621- Community Translated (JA)

Version 1

    Community Translated by keni_4440091          Version: **

     

    Translation - English: Use SFDP Data to Set Timeout Timer Value for SPI NOR Flash Page Program and Erase Operations - KBA230621

     

    質問:

    サイプレスSPI NOR Flashでページプログラムおよび消去操作のために、タイムアウトタイマー値は何を設定すればいいですか?

     

    回答:

    下記の方法のどちらかを使用してタイムアウトタイマー値を設定することができます。

    1. デバイスデータシートで記載されているページプログラムおよび消去最大時間仕様を使用
    2. Serial Flash Discoverable ParameterSFDP)データを使用して最大ページプログラムおよび消去時間を計算

    全ての最近のサイプレスSPI NOR Flash製品はSFDP準拠です。2番目のオプション(SFDPデータを使用した)は、他のSFDP準拠したSPI NORデバイスに移管する際にコード移植可能にするため、推奨アプローチです。 このドキュメントは、基本的なSFDP知識があり、かつFlashデバイスの特定のSFDP DWORDへのアクセスの仕方を知っていると仮定して、 SFDPデータに従って、最大ページプログラム時間および消去時間の計算方法を説明しています。 ページプログラム時間は基本的なFlashパラメータDWORD-11で定義されています:

    • DWORD-11 Bit[13] はページプログラム時間単位を定義します(0=8us, 1=64us)。
    • DWORD-11 Bit[12:8] はページプログラム標準時間数を定義します。
    • DWORD-11 Bit[3:0] はページプログラム標準時間からページプログラム最大時間までの乗数を定義します。

    ページプログラム標準時間 = (ページプログラム標準時間数 + 1 * ページプログラム時間単位ページプログラム最大時間 = 2 * (乗数 + 1 * ページプログラム標準時間 例えば、

    • DWORD-11 Bit[13] = 1 (時間単位は64usです)
    • DWORD-11 Bit[12:8] = 00111b
    • DWORD-11Bit[3:0] = 0010b

    ページプログラム標準時間 = (00111b + 1) * 64us = 8 * 64us = 512usページプログラム最大時間 = 2 * (0010b + 1) * 512us = 2 * 3 * 512us = 3072us ページプログラムのタイムアウトタイマーは、ページプログラム最大時間である3072 usを使用する必要があります。 Flashデバイスは複数サイズのセクターを含んでいることがあります。例えば、ハイブリッドセクターアーキテクチャFlash4-KBセクターと256-KBセクターを含んでいます。異なるサイズのセクターの消去時間は異なります。 SFDP規格は4つまでの消去タイプを定義しています。各消去タイプはセクターサイズを定義しています。消去タイプは基本FlashパラメータDWORD-8およびDWORD-9で定義されています:

    • DWORD-8 Bit[7:0] は消去タイプ1サイズを定義します
    • DWORD-8 Bit[23:16] は消去タイプ2サイズを定義します
    • DWORD-9 Bit[7:0] は消去タイプ3サイズを定義します
    • DWORD-9 Bit[23:16] は消去タイプ4サイズを定義します

    上記フィールドの“N”値は、消去タイプサイズ = 2^Nバイトを計算するために使用されます。例えば、DWORD-8 Bit[7:0]の値が0Chの場合、消去タイプ1サイズは4KBです; DWORD-8 Bit[23:16]の値が12hの場合、消去タイプ2サイズは256KBです。フィールドの値が00hの場合、この消去タイプは存在しません。 4つ全ての消去タイプのセクター消去時間は、基本FlashパラメータDWORD-10で定義されます:

    • DWORD-10 Bit[31:30] は消去タイプ4セクター消去時間単位を定義します(00b=1ms, 01b=16ms, 10b=128ms, 11b=1s)。
    • DWORD-10 Bit[29:25] は消去タイプ4セクター消去標準時間数を定義します。
    • DWORD-10 Bit[24:23] は消去タイプ3セクター消去時間単位を定義します。(00b=1ms, 01b=16ms, 10b=128ms, 11b=1s)。
    • DWORD-10 Bit[22:18] は消去タイプ3セクター消去標準時間数を定義します。
    • DWORD-10 Bit[17:16] は消去タイプ2セクター消去時間単位を定義します。(00b=1ms, 01b=16ms, 10b=128ms, 11b=1s)。
    • DWORD-10 Bit[15:11] は消去タイプ2セクター消去標準時間数を定義します。
    • DWORD-10 Bit[10:9] は消去タイプ1セクター消去時間単位を定義します。(00b=1ms, 01b=16ms, 10b=128ms, 11b=1s)。
    • DWORD-10 Bit[8:4] は消去タイプ1セクター消去標準時間数を定義します。
    • DWORD-10 Bit[3:0] は消去標準時間から消去最大時間までの乗数を定義します。これは、セクター消去およびチップ消去の4つのタイプ全てに適応します。

    消去タイプxセクター消去標準時間 = (消去タイプx セクター消去標準時間数 + 1 * 消去タイプx セクター消去時間単位消去タイプx セクター消去最大時間 = 2 * (乗数 + 1* 消去タイプ x セクター消去標準時間 消去タイプxセクター消去のタイムアウト時間は消去タイプ x セクター消去最大時間を使用する必要があります。 与えられたセクターサイズのセクター消去最大時間を計算するには、最初に4つの全ての消去タイプが定義されている基本FlashパラメータDWORD-8およびDWORD-9から消去タイプを探す必要があります。次に基本FlashパラメータDWORD-10から消去タイプに対応する時間単位、標準時間数、および乗数を探します。次に、前もって述べた式を使用してセクター消去最大時間を計算します。 チップ消去時間は基本FlashパラメータDWORD-10およびDWORD-11に定義されています:

    • DWORD-11 Bit[30:29] はチップ消去時間単位を定義します(00b=16ms, 01b=256ms, 10b=4s, 11b=64s)。
    • DWORD-11 Bit[28:24] はチップ消去標準時間数を定義します。
    • DWORD-10 Bit[3:0] は標準消去時間から最大消去時間までの乗数を定義します。これは、セクター消去およびチップ消去の4つのタイプ全てに適応します。

    チップ消去標準時間 = (チップ消去標準時間数 + 1 * チップ消去時間単位チップ消去最大時間 = 2 * (乗数+ 1 * チップ消去標準時間 チップ消去のタイムアウトタイマーはチップ消去最大時間を使用する必要があります。 ページプログラムおよび消去動作は最大時間よりも通常早く終了します。最大タイムアウトタイマーを使用する代わりに、動作の完全性の確認用にポーリング手法を使用する方が、より効果的です。タイムアウトタイマーの実装は、必要に応じてポーリング手法と組み合わせる事ができます。 参照:

    • JEDEC Standard, JESD216D, August 2019