(57)【特許請求の範囲】
【請求項１】
電気的にデータの書き換えが可能な不揮発性記憶装置を搭載した電子システムにおいて、
データ書込みの際に正常にデータの書込みが行えない不良メモリセルを検出する検出手段と、
上記不良メモリセルのアドレスを記憶するアドレス記憶手段と、
不良メモリセルのアドレスに書込み要求があった場合に他のアドレスのメモリセルへデータを書き込ませることで不良メモリセルの代替を書込み単位毎に行う代替制御手段と、
上記不良メモリセルの計数処理を行う計数手段と、
該計数手段の計数値が所定値を超えたことに基づきシステム異常信号を出力する異常通知手段と、
該異常通知手段からの信号出力に基づきＬＥＤの発光によりユーザにシステム異常に関する報知を行う報知手段とを備え、
上記計数手段は、複数のアドレスで不良メモリセルがあって該アドレスが連続する場合に、これらアドレスが離散する場合よりも計数値が小さくなるように計数し、
上記代替制御手段は、上記不揮発性記憶装置の外部に設けられたＣＰＵにより構成されるとともに、不良メモリセルの代替とされる上記他のアドレスは代替用として予め確保されたアドレスでなく代替用として使用されないときにアクセス可能な通常のアドレスであることを特徴とする電子システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えばフラッシュメモリなどの不揮発性半導体メモリや、該不揮発性半導体メモリを搭載したシステムなどに適用して有用な技術に関する。
【０００２】
【従来の技術】
電気的にデータ消去とデータ書込みが可能な不揮発性半導体メモリは、例えばフラッシュメモリで約１０万回など、書換え回数に限界が存在し、その回数に近づくと正常に書込みが出来ない不良メモリセルが除々に発生するようになる。
【０００３】
従来、上記のような不良メモリセルに対処するための様々な技術が提案されている。例えば特開平６−１８０９９３号公報、特開平８−３０６１９２号公報、特開平１１−１３４８８０号公報に開示の技術は、データの書換えをする際に書込み対象となっているメモリセルのデータと新たに書込むデータとの比較を行って、これらのデータが異なる場合のみデータ消去とデータ書込みを行うことで各メモリセルの実際の書込み回数を減らし、不良メモリセルの発生を少なくしようというものである。
【０００４】
また、特許第２８１８５２９号公報には、アドレス変換により各セクタの書込み回数が均等になるような制御を行い、書込みが１部分のメモリセルだけに集中してしまうのを防ぐことで、総合的な不良メモリセルの発生を少なくしようというものである。
【０００５】
また、特開平６−２０４８３号公報には、記憶領域を予め主記憶領域と代替用の補助記憶領域に分けておき、主記憶領域に不良メモリセルが発生した場合に、主記憶領域の使用を禁止し補助記憶領域を代替的に使用させるようにしたものである。
【０００６】
ところで、フラッシュＲＯＭなどの不揮発性記憶装置は、例えばルーターやＴＡ（Terminal Adapter）、インターネット上の所定のサイトにアクセスしてホームページデータを先読みするＷＥＢアクセラレータなどコンピュータの周辺機器においてファームウェアが格納される記憶装置として用いられることが多い。ファームウェアを書換え可能な不揮発性記憶装置に格納することで、コンピュータのバージョンアップなどに対応させて周辺機器もバージョンアップさせて機能の拡充や変更など柔軟な対応が可能となる。
【０００７】
このように不揮発性記憶装置をファームウェア格納用として用いる場合、記憶装置の全容量がファームウェアの格納により使われてしまうことは少なく、何割かは使用されずに残される。従って、不良メモリセルが発生した場合でも、その数が余り多いものでなければ、不良メモリセルを残りの領域のメモリセルと代替させることで、ファームウェアの全部を有効なメモリセルに格納しシステムとして何ら支障を来すことなく通常どおり使用することが出来る。
【０００８】
また、不揮発性記憶装置をデジタルカメラの画像保存用やデジタル音楽プレーヤーの音楽データ保存用として使用するような場合でも、不揮発性記憶装置の全領域が有効でないと使用できないと云うことはなく、不良メモリセルが発生した場合に他のメモリセルに代替することで、記憶装置に保存できるデータの容量は減るもののそれ以外は特に支障を来すことなく使用することが出来る。ただし、代替するメモリセルがあまり多くなると、代替処理に時間がかかるためデータ読出しや書込み速度が本体機器の許容範囲を外れて正常に使用できなってしまう。
【０００９】
【発明が解決しようとする課題】
上述のように、不揮発性記憶装置において不良メモリセルが少しの割合で発生した場合でも一般にシステム異常に至らないことが多いのではあるが、上記の特開平６−１８０９９３号公報、特開平８−３０６１９２号公報、特開平１１−１３４８８０号公報、特許第２８１８５２９号公報、特開平６−２０４８３号公報に開示されているような技術では、ユーザに不良メモリセルの発生状況を知らせないため、システムとして支障を来すようになって初めてユーザは不良メモリセルの発生状況が判ることになる。このようなことは、ユーザにとって不親切であり、交換等の余裕をみて支障を来す前にユーザが認識できるようにしたいと云う要求があった。
【００１０】
また、主記憶ブロックに不良メモリセルが発生した場合に補助ブロックに代替させるものでは、補助ブロックの確保のためにユーザーが自由に使えるメモリ容量よりも多くの記憶容量が必要でありコストの高騰を招いたり、また、不良メモリセルが発生した場合にまだ使用できるメモリセルを含んだ主記憶ブロックを切り捨ててしまうといった無駄もあった。
【００１１】
この発明の目的は、無駄なく有効的に記憶領域を使用できるとともに、交換等の余裕をみて支障を来す前にその前兆をユーザに知らせることの出来る不揮発性記憶装置を提供することにある。
【００１２】
【課題を解決するための手段】
本発明は、上記目的を達成するため、電気的にデータの書き換えが可能な不揮発性記憶装置を搭載した電子システムにおいて、データ書込みの際にデータ書込み出来なくなった不良メモリセルを検出する検出手段と、上記不良メモリセルのアドレスを記憶するアドレス記憶手段と、不良メモリセルのアドレスに書込み要求があった場合に他のアドレスのメモリセルへ書き込みされるように制御する代替制御手段とを備え、上記代替制御手段により不良メモリセルの代替が書込み単位毎（例えば、１メモリセル毎、バイト毎、セクタ毎など）に行われ、且つ、上記代替制御手段は、上記不揮発性記憶装置の外部に設けられたＣＰＵにより構成されるとともに、不良メモリセルの代替とされる上記他のアドレスは代替用として予め確保されたアドレスでなく代替用として使用されないときにアクセス可能な通常のアドレスである構成とした。
【００１３】
このような手段によれば、不良メモリセルの代替を書込み単位毎に行うので無駄がなく、また、代替用のメモリセルを別途記憶容量の中に組み込んでおく必要がないのでコストの低減を図れる。
【００１４】
更に、本発明は、上記不良メモリセルの数に関する量がカウントされる計数手段と、該計数手段の計数値が所定値を越えたことに基づきシステム異常信号を出力する異常通知手段とを備えたものである。
【００１５】
このような手段によれば、不良メモリセルが増えてシステム異常となる前に上記異常信号の出力によりその前兆を知らせることが出来る。従って、システム異常となる前にユーザーに注意を促し、突然システム異常となって救済の施しようがなくなると云った不都合を回避させることができる。
【００１６】
望ましくは、上記計数手段は、不良メモリセルの数と分布に関する量をカウントし、不良メモリセルが同数のときに不良メモリセルが集中している場合よりも不良メモリセルが分散している場合の方が計数値が大きくなるように構成すると良い。すなわち、複数のアドレスで不良メモリセルがあって該アドレスが連続する場合に、これらアドレスが離散する場合よりも計数値が小さくなるように計数すると良い。
【００１７】
不良メモリセルが集中している場合、その部分が特別に不良で、他の部分はさほど不良に達する傾向にないと云った状態であることが多く、一方、不良メモリセルが分散して発生している場合には、全体的に不良に達する傾向であることが多い。従って、上記のようなカウントを行うことで、システム異常の前兆として正確な情報を知らせることが出来る。
【００１８】
更に望ましくは、例えば発光により報知を行うＬＥＤなど、上記異常通知手段からの通知に基づきユーザにシステム異常に関する報知を行う報知手段を設けると良い。ユーザはこの報知によりメモリの交換やメモリへの新たなデータ書き込みを控えるなど、適切な処置を講ずることが出来る。
【００１９】
また、上記のような不揮発性記憶装置は、コンピュータ周辺機器のファームウェア格納用メモリに適用すると有用である。メモリ不良でファームウェアの書換えに失敗するとシステムが全く機能しなくなる恐れがあるが、メモリ異常報知手段があるとユーザは異常報知により新たなバージョンのファームウェアへの書換えを控え、正常な不揮発性記憶装置と交換してからバージョンアップを行うなど適切な処置を取れる。
【００２０】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【００２１】
図１は、本発明の不揮発性記憶装置の実施の形態であるフラッシュメモリ１０の概略構成を示すブロック図である。
【００２２】
この実施の形態のフラッシュメモリ１０は、フローティングゲートとコントロールゲートとを有する不揮発性のメモリセルをマトリックス状に配設してなるメモリアレイ１１と、該メモリアレイ１１の中からアドレス指定されたワード線とビット線とを選択するアドレスデコーダ１２と、指定されたメモリセルのデータ読出し又はデータ書込みを行うＲ／Ｗ回路１３と、データ書込みを完全に行うためにデータ書込み動作とベリファイ動作とを繰返し行わせるＲ／Ｗ制御回路１４と、メモリアレイ１１のデータを書込み単位よりも大きな所定単位ごとに一括消去する消去回路１５と、フラッシュメモリ１０の全体的な制御に加え不良メモリセルの管理やそのアドレス管理を行う制御回路１６と、不良メモリのアドレスを記憶する不良アドレス記憶部（アドレス記憶手段）１７と、不良メモリの数に関するカウントが行われる計数手段としてのカウンタ１８等を備えている。
【００２３】
制御回路１６には、外部からリード・ライトコマンドＲ／Ｗやアドレス信号ＡＤＤが入力され、コマンドに応じてデータ書込み処理や読出し処理の実行制御を行う。そして、書込み処理でデータ書込みが正常に終了したら終了信号を外部に出力して書込み完了を通知する。また、制御回路１６は不良メモリセルが検出された場合に、その不良アドレスや代替アドレスをアドレス記憶部１７に格納したり、アドレスに応じてカウンタ１８の更新を行う。さらに、制御回路１６は代替制御手段としての機能を備え、不良メモリセルへ書込み要求やデータ読出し要求があった場合に、そのアドレスを正常なメモリセルの代替アドレスに変換してアドレスデコーダ１２に出力するなどのアドレス管理を行う。また、不良メモリセルが増えてカウンタ１８の値が所定値を越えた場合に異常通知手段としてシステム異常を知らせる異常信号を出力する。
【００２４】
Ｒ／Ｗ制御回路１４は、不良メモリセルを検出する検出手段としても機能し、データ書込み制御の際に、書込み動作とベリファイ動作を所定回繰り返しても正しくデータが書き込まれない場合に、不良メモリセルの発生とみなしてそのことを示す信号を制御回路１６に出力する。
【００２５】
アドレス記憶部１７は、１メモリセル単位或いはバイト単位で且つ低い電圧で消去が可能なＥＥＰＲＯＭを用いて構成したり、或いは、メモリアレイ１１の一部の領域を用いて構成される。
【００２６】
図２は、本発明に係る不揮発性記憶装置を使用したシステムの一例としてのルータ１の構成例を示すブロック図である。
【００２７】
上述したフラッシュメモリ１０は、ルータ１においてはファームウェアを記憶する不揮発性メモリなどに適用されるとともに、更に、システム内の他の構成と組み合わされて本発明に係るユーザへの異常報知機能を備えた記憶装置を実現する。
【００２８】
すなわち、この実施の形態のルータ１には、通信処理や装置の全体的な制御を行うＣＰＵ２や、ＣＰＵ２へ作業領域を提供するＲＡＭ２０、並びに、ＣＰＵ２により実行されるファームウェアが格納される上述のフラッシュメモリ１０、電話回線側の通信インターフェース３０やイーサネット側の通信インターフェース４０のほか、発信着信の通知や電話番号などの表示に加え、フラッシュメモリ１０の不良に関する表示が行われる例えばセグメント表示器などの表示部５０や、点灯や消灯により発信着信の報知やフラッシュメモリ１０の異常報知など各種の報知を行う報知手段としてのＬＥＤ６０などが設けられている。
【００２９】
上記フラッシュメモリ１０の異常に関する表示部の表示やＬＥＤの点灯は、フラッシュメモリ１０からのシステム異常信号の出力に基づきＣＰＵ２により実行される。そして、このような報知により、ユーザはメモリに異常があることが分るので、新たなバージョンのファームウェアが提供された場合でも、フラッシュメモリ１０のデータを新バージョンのものに書き換えたりしないように注意したり、フラッシュメモリ１０の交換の準備をすることが出来る。
【００３０】
次に、上記フラッシュメモリ１０の書込み処理について図３のフローチャートを参照しながら説明する。図３は、フラッシュメモリ１０の制御回路１６により実行されるデータ書込み処理のフローチャートである。
【００３１】
外部からアドレス信号ＡＤＤと書込みコマンドとが入力されて書込み要求があるとこの書込み処理を開始して、先ず、ステップＳ１において、入力アドレスと不良アドレス記憶部１７にあるアドレスとの比較を行う。その結果、入力アドレスが不良メモリセルのアドレスでなければ次のステップＳ２に移行するが、不良メモリセルのアドレスであれば、別のアドレスに再度書込み要求を出して、そのアドレスを入力アドレスとして再度ステップＳ１からの処理を実行する。
【００３２】
なお、異なるアドレスへのアドレス変換をした場合には、次にそのデータの読出し処理を行う際に、同様のアドレス変換が行われて対応するデータが読み出されるように、制御回路１６によりアドレス管理が行われる。また、代替的に使用しているアドレスへの書込み要求や読出し要求があった場合にも、同様に他のアドレスが代替的に使用されるようにアドレス管理が行われる。このような制御技術は、従来のＭＭＵ（Memory Management Unit）と同様のもので周知の技術である。
【００３３】
なお、上記のようなアドレス変換をフラッシュメモリ１０の内部で行わずに、フラッシュメモリ１０の外部にＭＭＵを設けて該ＭＭＵにより行わせたり、外部のＣＰＵにより行わせるようにしても良い。その場合、ステップＳ１の判別処理で不良メモリセルのアドレスと判別された場合には、入力されたアドレスが不良メモリセルのものであることを示す不良アドレス信号を外部へ出力するように構成し、該不良アドレス信号に基づいてＭＭＵやＣＰＵが上記のようなアドレス変換を行うように構成すれば良い。
【００３４】
ステップＳ１の判別処理で不良アドレスでないと判別された場合には、続くステップＳ２においてＲ／Ｗ制御回路１４にデータ書込み処理を行わせる。そして、Ｒ／Ｗ制御回路１４からデータ書込み終了の信号を受けたら、次のステップＳ３に移行する。
【００３５】
ステップＳ３では、ステップＳ２で書き込んだデータを読み出して、さらに次のステップＳ４でこのデータの照合を行う。続いてステップＳ５において、データ照合の結果として書込みデータと読出しデータとが合致していれば、そのまま書込み処理を終了するが、合致していなければ、ステップＳ６に移行してそのアドレスのメモリセルを不良メモリセルとして、当該アドレスをアドレス記憶部１７に格納する。
【００３６】
次いで、ステップＳ７において不良メモリセルに関するカウンタ１８の更新を行ってステップＳ８に移行する。
【００３７】
図４には、フラッシュメモリ１０に発生する不良メモリセルのカウント方法を説明する図を示す。上記ステップＳ７において行われるカウンタ１８の更新は、例えば、図４（ａ）に示すように、メモリアレイ１１の配置上で互いに離散した位置にあるメモリセルが不良となっている場合には不良メモリセルの数だけカウントされるように、また、図４（ｂ）に示すように、連続した配置で複数のメモリセルが不良となった場合には、不良メモリセルの数に拘わらず不良セル数「１」と見なされるようにカウンタ１８の更新が行われる。
【００３８】
また、上記ステップＳ６における不良メモリセルのアドレス格納の形式も、連続配置の複数のメモリセルが不良となった場合に、それら複数のメモリセルのアドレスを個別に格納するのではなく、それら複数アドレスの先頭アドレスと終了アドレスとその間全てが不良であることを示す識別情報とを格納しておけば良い。そうすることでアドレス記憶部１７に必要な容量も小さくすることが出来る。
【００３９】
ステップＳ８では、カウンタ１８の値が所定数（例えばメモリ容量の１０％など）になっているか否か判別し、所定数以下であれば、別のアドレスへ再度書込み要求を行ってステップＳ１からの処理を再実行する。一方、カウンタ１８の値が所定数以上であれば、ステップＳ９において、以降、ハイレベルのシステム異常信号が出力され続けられるようにする。そして、この書込み処理を終了する。
【００４０】
システム側では、フラッシュメモリ１０からシステム異常信号が出力されるとルータ１のＣＰＵ２がそれを検出し、該ＣＰＵ２の制御により表示部にフラッシュＲＯＭの交換を促す表示やＬＥＤの点灯が行われる。
【００４１】
以上のように、この実施の形態のフラッシュメモリ１０によれば、不良メモリセルの代替を書込み単位毎に行うので無駄がなく、また、代替用のメモリセルを別途記憶容量の中に組み込んでおく必要がないのでコストの低減を図れる。
【００４２】
また、不良メモリセルが増えてシステム異常となる前に上記異常信号の出力によりその前兆を知らせることが出来るので、システム異常となる前にユーザーに注意を促し、突然システム異常となって救済の施しようがなくなると云った不都合を回避させることができる。
【００４３】
また、不良メモリセルの数が同数でも、不良メモリセルが配置上集中して発生している場合よりも、不良メモリセルが分散して発生している場合の方が、早目に異常信号が出力されるので、システム異常の前兆としてより正確な情報を知らせることが出来る。
【００４４】
そして、表示部でのシステム異常注意の表示やＬＥＤの点灯などにより、ユーザはフラッシュメモリ１０を交換したり、ファームウェアのバージョンアップを控えるなど適切な対処を講ずることが出来る。
【００４５】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。例えば、不揮発性記憶装置としてフラッシュメモリや該フラッシュメモリを搭載した記憶システムを例示したが、その他、１ビット単位やバイト単位でデータ消去可能なＥＥＰＲＯＭ（electrically erasable programmable ROM）など、種々の不揮発性メモリを利用することが出来る。また、実施の形態では、１メモリセルを書込み単位とするタイプの不揮発性記憶装置を例示したが、バイトやセクタを書込み単位とするタイプのものにも同様に適用することが出来る。
【００４６】
また、本発明に係る不揮発性記憶装置を、システムのファームウェアを格納するフラッシュメモリとして説明したが、一般的なデータを格納し頻繁にデータの書換えが行われるようなフラッシュメモリなどに適用しても効果的である。
【００４７】
また、不良メモリセルに関するカウントの仕方も、上記実施の形態のものに限られず、例えば、集中しているか分布しているか拘わらずに不良メモリセルの発生数をそのままカウントするようにしたり、或いは、連続配置のメモリセルが不良となった場合は、その数の１／２や１／３など重み付けした数カウントされるようにしても良い。
【００４８】
【発明の効果】
以上説明したように、本発明に従うと、不良メモリセルの代替を書込み単位毎に行うので無駄がなく、また、代替用のメモリセルを別途記憶容量の中に組み込んでおく必要がないのでコストの低減を図れる。また、不良メモリセルが増えてシステム異常となる前に上記異常信号の出力によりその前兆を知らせることが出来るので、システム異常となる前にユーザーに注意を促し、突然システム異常となって救済の施しようがなくなると云った不都合を回避させることができるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態のフラッシュメモリの概略構成を示すブロック図である。
【図２】本発明に係る不揮発性記憶装置が搭載されているルータのシステム構成を示すブロック図である。
【図３】フラッシュメモリの制御回路により実行されるデータ書込み処理の手順を示すフローチャートである。
【図４】フラッシュメモリに発生する不良メモリセルのカウント方法を説明する図である。
【符号の説明】
１      ルータ
２      ＣＰＵ
１０    フラッシュメモリ（不揮発性記憶装置）
１１    メモリアレイ
１４    Ｒ／Ｗ制御回路
１６    制御回路
１７    不良アドレス記憶部（アドレス記憶手段）
１８    カウンタ（計数手段）
５０    表示部
６０    報知用ＬＥＤ
【図１】
0003651886.tif 000002
【図２】
0003651886.tif 000003
【図３】
0003651886.tif 000004
【図４】
0003651886.tif 000005