参加者メーリングリストにフラッシュメモリの書換え回数の上限について質問が出ていたので調べてみました。
まずLEGO社が公開しているハードウェア仕様を見るとNXTにはATMEL社のARMベースマイコン AT91SAM7S256 が載っていることが分かります。
つぎに、ATMEL社のホームページからダウンロードした AT91SAM7S シリーズの仕様書に以下の記述を見つけました。
- AT91SAM7S256
- 256 Kbytes of Flash Memory, single plane
- 1024 pages of 256 bytes
- Fast access time, 30 MHz single-cycle access in Worst Case conditions
- ( 中略 )
- 10,000 write cycles, 10-year data retention capability
- 64 Kbytes of Fast SRAM
- Single-cycle access at full speed
この記述を信じれば、普通の使い方をしている限り、すぐにフラッシュメモリの寿命が尽きる心配はないように思われます。チャンピオンシップ大会に進むチームの中には普通ではない使い方をしているチームもあるとは思いますが・・・ 😉
ちなみに素のフラッシュメモリの場合、書換え回数の上限は数十回から数百回の場合が一般的ですが、ATMEL社の AT91SAM7S シリーズのマイコンには Embedded Flash Controller (EFC) と呼ばれる回路が内蔵されており、Flashへの読み書きを調停することでアクセス速度を向上させたり、Flashの寿命を延ばす工夫をしているようです。