eMMCユーザーゾーンに複数のSLCゾーンを作成するには?

eMMCユーザーゾーンに複数のSLCゾーンを作成するには?

eMMC(つまりハードウェアパーティション)のユーザーデータ領域(UDA)を次のようにパーティション化する必要があります。

  1. 最初の336MB領域はpSLCに配置する必要があります。
  2. 次の2GB領域はMLCパーティションとして使用されます。
  3. 残りの領域はpSLCモードに戻す必要があります。

完全なeMMC領域をpSLCにし、以下を使用して機能させました。

mmc hwpartition user enh <start> <size> wrrel on complete

しかし、上記のMLCとpSLCの組み合わせを同じコマンドでどのように実装するのかわかりません。

次のコマンドを試しましたが、どちらも期待どおりに機能しません。

  1. どちらの地域も関連付けられています。十分バナー:

    mmc hwpartition ユーザー enh "first_region_start" "first_region_size" wrrel on十分

    mmc hwpartition ユーザー enh "second_region_start" "second_region_size" wrrel on十分

この場合、最初の完了フラグが2番目のpSLC領域の更新を許可しないため、失敗します。

  1. 最初の地域置くロゴとセカンドエリア十分バナー:

    mmc hwpartition ユーザー enh "first_region_start" "first_region_size" wrrel on置く

    mmc hwpartition ユーザー enh "second_region_start" "second_region_size" wrrel on十分

効果がなく、改善されません!電源を入れ直すと、eMMC の全領域が MLC 自体で表示されます。

上記のパーティションの組み合わせを実行する方法を見つけるのに役立つ人はいますか?

答え1

u-bootでeMMCを分割するには、手順3(設定、確認、完了など)を実行して再起動する必要があります。

=> mmc hwpartition (user | gp1 | gp2) "region_size" [enh wrrel on] set
=> mmc hwpartition (user | gp1 | gp2) [enh] "region_size" [wrrel on] check
=> mmc hwpartition (user | gp1 | gp2) [enh] "region_size" [wrrel on] complete

オプションのパラメータ:

  • wrrel on: 書き込み安定性をオンにします。
  • enh:拡張パーティション化(パーティションをSLCとして設定)。
    このパラメータがない場合、パーティションはデフォルトでpSLCに設定されます。

1つの「set」コマンド、1つの「check」コマンド、および1つの「complete」コマンドを使用して、3つのパーティションをすべて構成する必要があります。

あなたの場合、コマンドはおおよそ次のようになります。

=> mmc hwpartition user 688128 enh wrrel on user 4194304 wrrel on user wrrel on set
=> mmc hwpartition user 688128 enh wrrel on user 4194304 wrrel on user wrrel on set
=> mmc hwpartition user 688128 enh wrrel on user 4194304 wrrel on user wrrel on set

メモ:

ハードウェアパーティショニングはOTP(ワンタイムプログラマブル)です。一度こうすれば「mmc hwパーティション...完了」電源を入れ直すと、カードは設定したパーティションにプログラムされます。

関連情報