>>5
ついでに亀レスだが、不良ブロックの対策案。

ブロック使用状況と不良ブロックの状況などのブロック情報をまとめたブロックを用意しておく。
ブロック情報ブロックには、通常のファイルブロックとは区別できるフラグを埋め込んでおく。
ブロック0をデフォルトとする。

消去、書込を行ったら、必ずベリファイする。
ベリファイに問題があったら、ブロック情報ブロックを参照して、
空いているブロックにファイルを書き出す。
そして、ブロック情報ブロックに、そのブロックがエラーだったというフラグを書き込む。
ブロック情報ブロックに不良が出たら、空いている正常なブロックに、ブロック情報ブロックを移動する。

ブロック情報ブロックは、それ自体が不良ブロックになっている恐れがあるので、
ブロック0からスキャンしていき、正常かつブロック情報ブロックのフラグの立っているブロックの情報を信用することとする。

と言ったところでいいのでは?