フラッシュメモリのプログラミング特性

RL78/G14のハードウェアユーザーズマニュアルのフラッシュメモリプログラミング特性という項目が理解できません。

記載されているのが以下の図です。

この図の保持年数と書き換え回数との関連性が理解できないのでご助力いただければと思います。

Parents
  • フラッシュメモリは

    ・量子井戸に電子を蓄えている。この量で01を決める。

    ・消去とは、量子井戸から電子を引き抜く操作

    ・書き込みとは、量子井戸に電子をぶっこむ操作

    ・消去を繰り返すと量子井戸の蓋(=酸化膜)が劣化して中の電子が漏れ出す傾向がある

    ・電子が一定量漏れるとビット化け=保持失敗

    なので、消去回数が多い=保持時間が短い、消去回数が少ない=保持時間が長い、という性質があります。

    これをふまえて、表は次のように読むとよいでしょう(データフラッシュ部のみ解説)

    ・最終書き込み操作した値を20年保持させるには消去回数1万回以下にしてね(最低でも = min 1万回消去までなら20年持つことを保証)

    最終書き込み操作した値を5年保持させるには消去回数10万回以下にしてね(最低でも = min 10万回消去までなら5年持つことを保証)

    ・百万回より多く消去すると1年持たないものがでてくるよ(持つものもあるけど持たないものもあるよ) = typ

    ソフトウエア開発に使う基板上のマイコンはコードフラッシュを10万回くらい消去→書き込みとかしてもおかしくないのですが、そういう目的にはデータ保持時間が数日でも問題ない(CS+ 起動時に必ず書き替える)のでメーカー保証回数(1000回)以上に書き換えても問題なく使えます。今までに開発用マイコンのコードフラッシュ寿命が問題になったことはありません。

    データフラッシュのほうも適宜なタイミングで消去+同じ値を書くように使うと、消去回数が100万回を超えても使い続けることができます(保持時間が1か月とかなるかもしれないが、それより短い間隔で更新し続けることができるなら)。電源断な時間が1年とかありうると、その間に化けちゃうのでダメですけど。

    # 自分ではこういう設計は絶対やらないっスけど

  • 返信ありがとうございます。

    データフラッシュの書き込み回数と保持年数の関係が理解できました。

    もしよかったら参考にしたサイトなどがあったら教えていただいてもよろしいでしょうか?

    返信お待ちしております。

Reply
  • 返信ありがとうございます。

    データフラッシュの書き込み回数と保持年数の関係が理解できました。

    もしよかったら参考にしたサイトなどがあったら教えていただいてもよろしいでしょうか?

    返信お待ちしております。

Children
  • 結局のところ「フラッシュメモリの寿命とは?」ってユーザー側の要求っつか使い方次第なので難しいのですよね。その昔の MaskROM のように使いたい人と、今どきの SSD と同じように書き換えまくりで使いたい人とで求められる動作は極端に違います。 Renesas は両方を満足させなきゃいけなくて大変っス。

    参考サイトですが Google 検索でキーワード "NAND 寿命" あたりを与えるとこの辺の事情を解説した記事がいろいろ出てきます(データフラッシュは NAND ではなさそうですが解説は変わらない)そのうちの1つ、まるぶんさんところのテクニカルスクエア NAND Part3 https://www.marubun.co.jp/technicalsquare/37548/ あたりから入るとよさそうです。 Part4 も Good で、これを読んだ後最近の SSD (TLC/QLC) の長寿命化の記事を適宜探して読むと理解が深まりそうです。

    その辺知ると、長期間保存したいデータを USB メモリに格納して放置プレイってのは怖くてできなくなります。なんだかんだで磁気で保存してくれるハードディスクのほうが安心できます Yo!