JP2010134822A - 半導体メモリ装置 - Google Patents
半導体メモリ装置 Download PDFInfo
- Publication number
- JP2010134822A JP2010134822A JP2008311951A JP2008311951A JP2010134822A JP 2010134822 A JP2010134822 A JP 2010134822A JP 2008311951 A JP2008311951 A JP 2008311951A JP 2008311951 A JP2008311951 A JP 2008311951A JP 2010134822 A JP2010134822 A JP 2010134822A
- Authority
- JP
- Japan
- Prior art keywords
- bank
- storage area
- data
- nonvolatile memory
- flag
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
【課題】不揮発性メモリにおける電源遮断時の異常を迅速に解消できるようにする。
【解決手段】半導体メモリ装置1を、フラッシュメモリ等の不揮発性メモリ2と、データの書き込みおよび消去等の制御を行う制御部3と、データの入出力を行うためのインタフェース4とにより構成する。不揮発性メモリ2の記憶領域を第1および第2のバンクB1,B2に分け、各バンクB1の状態を表すフラグをバンクB2に、バンクB2の状態を表すフラグをバンクB1に書き込む。
【選択図】図1
【解決手段】半導体メモリ装置1を、フラッシュメモリ等の不揮発性メモリ2と、データの書き込みおよび消去等の制御を行う制御部3と、データの入出力を行うためのインタフェース4とにより構成する。不揮発性メモリ2の記憶領域を第1および第2のバンクB1,B2に分け、各バンクB1の状態を表すフラグをバンクB2に、バンクB2の状態を表すフラグをバンクB1に書き込む。
【選択図】図1
Description
本発明は、不揮発性メモリにデータの書き込みを行う半導体メモリ装置に関するものである。
書き換え可能なフラッシュメモリ等の不揮発性メモリを有する半導体メモリ装置は、デジタルカメラ等のメモリカードの他、各種電子機器の記憶装置として広く用いられている。このような不揮発性メモリにおいては、すでにデータが書き込まれている記憶領域に新たなデータを書き込む際には、書き込まれているデータを一旦消去することが必要となる。ここで、フラッシュメモリは、データの書き込みおよび読み出しは、比較的大きいブロック単位(例えば512バイト)で行われるが、消去は複数ブロックからなる記憶領域単位で行われる。このように、フラッシュメモリにおいては、データの消去の単位が大きいため、数ミリから数十ミリ秒という、比較的長いデータ消去時間が必要であり、その結果、データの書き込み中に電源遮断が生じてしまう可能性が高くなる。
このため、不揮発性メモリに電源遮断が生じた場合の異常を解消するための各種手法が提案されている。例えば、フラッシュメモリ上の消去ブロックごとに、各ブロックの状態を表すフラグを持たせるとともに、ブロック内のセクタ毎にフラグを持たせ、システムの起動時に各消去ブロックおよび各セクタのフラグを読み出し、このフラグに基づいてフラッシュメモリに記憶されているデータを保証するシステムが提案されている(特許文献1参照)。また、半導体メモリ装置に第1および第2の不揮発性メモリを設け、第1の不揮発性メモリのデータへの書き込み時にその経過を第2の不揮発性メモリに記憶しておき、電源投入時にその経過の情報に基づいて、電源遮断時の異常を解消する手法も提案されている(特許文献2参照)。さらに、一連のデータ書き込み中に、データが書き換えられたブロックに対するアドレス管理用情報を無効予定情報とし、一連の書き込みが終了するまでは書き込みを禁止することにより、データ書き込み中に電源遮断が生じても、書き込み前の状態に戻すことができるようにした手法も提案されている(特許文献3参照)。
特開2001−51889号公報
特開2005−222202号公報
特開2005−243000号公報
しかしながら、特許文献1に記載された手法では多数のフラグをすべて検索する必要があるため、どのブロックがデータ消去中であったかを検出するためには、処理に時間を要する。また、特許文献2に記載された手法では、第2の不揮発性メモリへのデータの書き込み時に電源遮断が発生してしまうと、電源遮断時の異常を解消することができない。さらに特許文献3に記載された手法では、データを確実に保護することができるものの、データそのものを記憶するための領域が必要であるため、その領域にデータを移行するための処理に時間を要するものとなる。
本発明は上記事情に鑑みなされたものであり、不揮発性メモリにおける電源遮断時の異常を迅速に解消できるようにすることを目的とする。
本発明による半導体メモリ装置は、不揮発性メモリおよび該不揮発性メモリに対するデータの書き込みおよび消去の制御を行う制御部を備えた半導体メモリ装置において、
前記制御部は、前記不揮発性メモリを複数の記憶領域により管理し、各記憶領域の状態情報を自身とは異なる他の記憶部に書き込み、前記データの消去中に電源が遮断された場合、電源オン時における前記各記憶領域に書き込みまれた状態情報に基づいて、前記電源遮断時に前記データが消去中であった消去中記憶領域を検出し、少なくとも該消去中記憶領域の異常状態を解消するよう前記不揮発性メモリを制御することを特徴とするものである。
前記制御部は、前記不揮発性メモリを複数の記憶領域により管理し、各記憶領域の状態情報を自身とは異なる他の記憶部に書き込み、前記データの消去中に電源が遮断された場合、電源オン時における前記各記憶領域に書き込みまれた状態情報に基づいて、前記電源遮断時に前記データが消去中であった消去中記憶領域を検出し、少なくとも該消去中記憶領域の異常状態を解消するよう前記不揮発性メモリを制御することを特徴とするものである。
「各記憶領域の状態情報を自身とは異なる他の記憶部に書き込む」とは、ある記憶領域の状態情報を、その記憶領域とは異なる記憶部に書き込むことを意味する。
「少なくとも消去中記憶領域の異常状態を解消する」とは、消去中記憶領域のみならず、他に異常があった記憶領域の異常状態を解消することをも意味する。
なお、本発明による半導体メモリ装置においては、前記他の記憶部を、前記自身とは異なる他の記憶領域としてもよい。
また、本発明による半導体メモリ装置においては、前記制御部を、前記不揮発性メモリを2つの記憶領域により管理し、前記電源オン時における一方の記憶領域に書き込まれた状態情報が消去中である場合、他方の記憶領域のデータの消去を実行し、該消去が完了した後に前記一方の記憶領域へのデータの書き込みまたは消去を実行することにより前記消去中記憶領域の異常状態を解消するよう、前記不揮発性メモリを制御するものとしてもよい。
また、本発明による半導体メモリ装置においては、前記制御部を、前記各記憶領域に書き込まれるデータ量を管理する管理情報を該各記憶領域自身に書き込み、該管理情報にも基づいて前記消去中記憶領域を検出するよう、前記不揮発性メモリを制御するものとしてもよい。
「管理情報」とは、記憶領域に書き込まれるデータをチェックすることが可能な情報であり、具体的にはチェックサムおよびCRC等を用いることができる。
また、本発明による半導体メモリ装置においては、前記制御部を、前記不揮発性メモリを3以上の記憶領域により管理し、前記各記憶領域の状態情報を自身とは異なる他の複数の記憶領域に書き込み、前記電源オン時における前記消去中記憶領域の検出を、前記複数の記憶領域に書き込まれた前記各記憶領域の状態情報に基づいて行うよう、前記不揮発性メモリを制御するものとしてもよい。
また、本発明による半導体メモリ装置においては、前記他の記憶部を、前記不揮発性メモリとは異なる、専用の電源を有する他の不揮発性メモリとしてもよい。
「専用の電源」とは、不揮発性メモリにデータを書き込むための電源が遮断されても、他の不揮発性メモリに電力を供給可能な電源を意味する。
本発明によれば、不揮発性メモリが複数の記憶領域により管理され、各記憶領域の状態情報が自身とは異なる他の記憶部に書き込まれる。そして、データの消去中に電源が遮断された場合、電源オン時における各記憶領域に書き込まれた状態情報に基づいて消去中記憶領域が検出され、少なくとも消去中記憶領域の異常状態を解消するよう不揮発性メモリが制御される。ここで、不揮発性メモリは記憶領域単位でデータの消去が行われるため、不揮発性メモリを複数の記憶領域により管理することにより、不揮発性メモリへのデータの消去中に電源遮断が生じた場合、正常にデータの書き込みまたは消去が完了している記憶領域が必ず存在することとなる。このため、データの消去中に電源が遮断されても、他の記憶部に書き込まれている状態情報を参照すれば、いずれの記憶領域が消去中であったかを、特許文献1に記載された手法のように多数のフラグの検索を行うことなく検出することができる。したがって、本発明によれば、電源遮断時における消去中記憶領域の異常を迅速に解消することができる。
また、他の記憶部を複数の記憶領域のそれぞれについて、それぞれとは異なる他の記憶領域とすることにより、装置に他のメモリを設ける必要がなくなるため、装置の構成を簡易なものとすることができる。
また、不揮発性メモリを互いに対応する2つの記憶領域により管理し、電源オン時における一方の記憶領域に書き込まれた状態情報が消去中である場合、他方の記憶領域のデータの消去を実行し、消去が完了した後に一方の記憶領域へのデータの書き込みまたは消去を実行して消去中記憶領域の異常状態を解消することにより、消去中記憶領域の異常状態を直ちに解消して、データの書き込みを行うことができることとなる。
また、各記憶領域に書き込まれるデータ量を管理する管理情報を各記憶領域自身に書き込み、管理情報にも基づいて消去中記憶領域を検出することにより、消去中記憶領域に書き込まれている状態情報が破損し、記憶領域間の状態情報に矛盾が生じたような場合でも、消去中記憶領域を確実に検出することができる。
また、不揮発性メモリを3以上の記憶領域に管理し、各記憶領域の状態情報を自身とは異なる他の複数の記憶領域に書き込み、電源オン時における消去中記憶領域の検出を、複数の記憶領域に書き込まれた各記憶領域の状態情報に基づいて行うことにより、消去中記憶領域に書き込まれている状態情報が破損し、記憶領域間の状態情報に矛盾が生じたような場合でも、消去中記憶領域を確実に検出することができる。
また、他の記憶部を、不揮発性メモリとは異なる、専用の電源を有する他の不揮発性メモリとすることにより、不揮発性メモリおよび他の不揮発性メモリの双方に同時に電源遮断が生じる可能性はきわめて低いものとなるため、状態情報が破損する可能性をより低減して、消去中記憶領域を確実に検出することができることとなる。
以下、図面を参照して本発明の実施形態について説明する。図1は本発明の第1の実施形態による半導体メモリ装置の構成を示す概略ブロック図である。図1に示すように第1の実施形態による半導体メモリ装置1は、フラッシュメモリ等の不揮発性メモリ2と、データの書き込みおよび消去等の制御を行う制御部(本実施形態においてはCPU)3と、データの入出力を行うためのインターフェース4とを備える。
本実施形態においては、不揮発性メモリ2の記憶領域は第1および第2のバンクB1,B2に分けられている。またバンクB1,B2はデータの書き込み単位である複数のブロックに分けられており、複数のブロックのうちの1つのブロックには、他方のバンクの状態を表すフラグが書き込まれる。すなわち、バンクB1にはバンクB2の状態を表すフラグが、バンクB2にはバンクB1の状態を表すフラグがそれぞれ書き込まれる。ここで、フラグの値としては、バンクの消去が完了していることおよび使用中であることを表す0×7777、0×1111、消去中であることを表す0×3333、およびそれ以外の状態であることを表す0×FFFFが用いられる。なお、図1においては、バンクB1,B2のフラグはともに0×FFFFが設定されている。また、0×FFFFのフラグは、他のフラグとは異なり、フラグが書き込まれるバンク自身の状態を表すものとなる。また、フラグはビット数が減少する方向に変化することとなるため、0×7777、0×3333、0×1111の順に変化することとなる。
次いで、本実施形態による半導体メモリ装置1におけるデータの書き込みおよび消去、並びにフラグの設定について説明する。図2はバンクB1,B2の書き込み状態が不明の場合におけるデータの書き込みおよび消去、並びにフラグの設定を説明するための図である。なお、この状態においては、バンクB1,B2のフラグはともに0×FFFFに設定されている。この状態にある不揮発性メモリ2は、まずバンクB1のデータが消去され、次いでバンクB2のデータが消去される。そして、バンク1におけるバンクB2についてのフラグが0×7777に設定され、次いでバンク2におけるバンクB1についてのフラグが0×7777に設定される。これにより、バンクB1,B2はデータを書き込み可能な状態となる。
図3はバンクB1,B2にデータが書き込まれていない場合におけるデータの書き込みおよびフラグの設定を説明するための図である。データの書き込みが開始されるとバンクB1のブロックから順にデータが書き込まれる。なお、図3および以降の説明においては、データが書き込まれていることを斜線で示す。そしてバンクB1が一杯になると、次いでバンクB2へのデータの書き込みが開始される。なお、バンクB1,B2のフラグは使用中であることを表す0×7777に設定された状態となっている。
図4はバンクB1,B2が使用中の場合におけるデータの書き込みおよび消去、並びにフラグの設定を説明するための図である。図3の最後に示す状態からさらにデータが書き込まれ、バンクB2の残りのブロックが1つになると、バンクB1のデータの消去を開始するために、バンクB2におけるバンクB1についてのフラグが、消去中であることを示す0×3333に設定される。バンクB1の消去が開始されると、バンクB1のフラグが0×FFFFに設定される。そして、バンクB1の消去が完了すると、バンクB1におけるバンクB2についてのフラグが、使用可能であることを表す0×7777に設定され、さらにバンクB2におけるバンクB1についてのフラグが、使用可能であることを表す0×1111に設定される。これにより、バンクB2へのデータの書き込みが再開される。
図5はバンクB1,B2が使用中の場合におけるデータの書き込みおよび消去、並びにフラグの設定を説明するための図である。図4の最後に示す状態からさらにバンクB1にデータが書き込まれ、バンクB1の残りのブロックが1つになると、バンクB2のデータの消去を開始するために、バンクB1におけるバンクB2についてのフラグが、消去中であることを示す0×3333に設定される。バンクB2の消去が開始されると、バンクB2のフラグが0×FFFFに設定される。そして、バンクB2の消去が完了すると、バンクB2におけるバンクB1についてのフラグが、使用可能であることを表す0×7777に設定され、さらにバンクB1におけるバンクB2についてのフラグが、使用可能であることを表す0×1111に設定される。これにより、バンクB1へのデータの書き込みが再開される。
図6はデータの書き込みを行っている状態において電源遮断が発生した場合におけるバンクB1,B2上のフラグが取り得る組合せ、およびフラグがその状態のときに電源がオンとされた場合に行う処理を示すテーブルである。なお、図6には9通りの組合せが示されており、そのそれぞれに1〜9の番号を付与するものとする。また、バンクB1上のフラグとは、バンクB1に書き込まれたバンクB2についてのフラグを、バンクB2上のフラグとは、バンクB2に書き込まれたバンクB1についてフラグをそれぞれ意味する。
1番目の組合せは、図2に示す左から3つ分の状態のときに電源遮断が生じた場合のものであり、電源オン時の処理は、バンクB1,B2とも消去および0×7777のフラグを設定する処理となる。なお、これは図2の処理に相当する。また、この処理を第1の処理と称する。
2番目の組合せは、図4に示す左から3番目の状態のときに電源遮断が生じた場合のものであり、電源オン時の処理は、バンクB1に対しては、消去およびバンクB2についての0×7777のフラグを設定する処理となり、バンクB2に対しては、バンク1の消去後、バンクB1についての0×1111のフラグを設定する処理となる。なお、これは図4の左から3番目以降の処理に相当する。また、この処理を第2の処理と称する。
3番目の組合せは、本実施形態においては発生し得ない状態のときに電源遮断が生じた場合のものであり、電源オン時の処理は、バンクB1に対しては、消去およびバンクB2についての0×7777のフラグを設定する処理となり、バンクB2に対しては、フラグを変更することなく通常使用の状態を維持する処理となる。この処理を第3の処理と称する。
4番目の組合せは、図5に示す左から3番目の状態のときに電源遮断が生じた場合のものであり、電源オン時の処理は、バンクB1に対しては、バンクB2の消去後、バンクB2についての0×1111のフラグを設定する処理となり、バンクB2に対しては、消去およびバンクB1についての0×7777のフラグを設定する処理となる。なお、これは図5の左から3番目以降の処理に相当する。また、この処理を第4の処理と称する。
5番目の組合せは、一方のバンクの消去中に電源遮断が生じ、偶然消去中のバンクのフラグが0×FFFFから0×3333となってしまった場合のものであり、電源オン時の処理は、双方のバンクB1,B2に対して、消去および双方のバンクについての0×7777のフラグを設定する処理となる。この処理を第5の処理と称する。
6番目の組合せは、図5に示す左から4番目の状態のときに電源遮断が生じた場合のものであり、電源オン時の処理は、バンクB1に対しては、バンクB2の消去後、バンクB2についての0×1111のフラグを設定する処理となり、バンクB2に対しては、消去およびバンクB1についての0×7777のフラグを設定する処理となる。なお、これは図5の左から3番目以降の処理に相当する。また、この処理を第6の処理と称する。
7番目の組合せは、図2に示す左から4番目の状態のときに電源遮断が生じた場合のものであり、電源オン時の処理は、バンクB1に対しては通常使用の状態を維持する処理となり、バンク2に対しては消去およびバンクB1についての0×7777のフラグを設定する処理となる。また、この処理を第7の処理と称する。
8番目の組合せは、図4に示す左から4番目の状態のときに電源遮断が生じた場合のものであり、電源オン時の処理は、バンクB1に対しては、消去およびバンクB2についての0×7777のフラグを設定する処理となり、バンクB2に対しては、バンク1の消去後、バンクB1についての0×1111のフラグを設定する処理となる。なお、これは図4の左から3番目以降の処理に相当する。また、この処理を第8の処理と称する。
9番目の組合せは、図3に示すすべての状態、並びに図4および図5に示す左から1,5,7番目の状態のときに電源遮断が生じた場合のものであり、電源オン時の処理は、双方のバンクB1,B2が消去状態でないことから、通常使用の状態を維持する処理となる。また、この処理を第9の処理と称する。
次いで、第1の実施形態において行われる処理について説明する。図7および図8は第1の実施形態において電源遮断が生じた後の電源オン時に行われる処理を示すフローチャートである。電源オンとされることにより制御部3が処理を開始し、まずバンクB2に書き込まれているバンクB1のフラグを読み出し(ステップST1)、次いでバンクB1に書き込まれているバンクB2のフラグを読み出す(ステップST2)。
次いで、読み出したフラグが1番目の組合せであるか否かを判定し(ステップST3)、ステップST3が肯定されると第1の処理を行い(ステップST4)、処理を終了する。
ステップST3が否定されると、読み出したフラグが2番目の組合せであるか否かを判定し(ステップST5)、ステップST5が肯定されると第2の処理を行い(ステップST6)、処理を終了する。
ステップST5が否定されると、読み出したフラグが3番目の組合せであるか否かを判定し(ステップST7)、ステップST7が肯定されると第3の処理を行い(ステップST8)、処理を終了する。
ステップST7が否定されると、読み出したフラグが4番目の組合せであるか否かを判定し(ステップST9)、ステップST9が肯定されると第4の処理を行い(ステップST10)、処理を終了する。
ステップST9が否定されると、読み出したフラグが5番目の組合せであるか否かを判定し(ステップST11)、ステップST11が肯定されると第5の処理を行い(ステップST12)、処理を終了する。
ステップST11が否定されると、読み出したフラグが6番目の組合せであるか否かを判定し(ステップST13)、ステップST13が肯定されると第6の処理を行い(ステップST14)、処理を終了する。
ステップST13が否定されると、読み出したフラグが7番目の組合せであるか否かを判定し(ステップST15)、ステップST15が肯定されると第8の処理を行い(ステップST16)、処理を終了する。
ステップST15が否定されると、読み出したフラグが8番目の組合せであるか否かを判定し(ステップST17)、ステップST17が肯定されると第8の処理を行い(ステップST18)、処理を終了する。
ステップST17が否定されると、読み出したフラグは9番目の組合せであることから第9の処理を行い(ステップST19)、処理を終了する。
このように、第1の実施形態においては、不揮発性メモリ2の記憶領域を2つのバンクB1,B2に分けて管理し、各バンクB1,B2の状態を表すフラグを自身とは異なるバンクに書き込み、データの消去中に電源が遮断された場合、電源オン時における各バンクB1,B2に書き込まれたフラグに基づいて消去中であったバンクを検出し、消去中バンクの異常状態を解消するようにしたものである。ここで、不揮発性メモリ2はバンク単位でデータの消去が行われるため、不揮発性メモリ2を複数のバンクB1,B2によって管理することにより、不揮発性メモリ2へのデータの消去中に電源遮断が生じた場合、正常にデータの書き込みまたは消去が完了しているバンクが必ず存在することとなる。このため、データの消去中に電源が遮断されても、他のバンクに書き込まれているフラグを参照すれば、いずれのバンクが消去中であったかを、特許文献1に記載された手法のように、多数のフラグを検索することなく検出することができる。したがって、本実施形態によれば、電源遮断時におけるバンクB1,B2の異常を迅速に解消することができる。
また、電源オン時に一方のバンクのフラグが消去中である場合、この一方のバンクのデータの消去を実行し、消去が完了した後に他方のバンクへのデータの書き込みまたは消去を実行することにより、電源遮断により異常が生じたバンクB1,B2の異常を直ちに解消して、データの書き込みを行うことができることとなる。
なお、上記第1の実施形態において、バンクB1,B2のフラグが5番目の組合せとなった場合に、双方のバンクB1,B2について、消去および0×7777のフラグを設定する処理を行っているが、5番目の組合せは、一方のバンクの消去中のフラグ0×FFFFが電源遮断が生じた際の何らかの原因により、偶然0×3333となってしまったために生じたものである。このような状態においては、電源遮断時にバンクB1が消去中であった場合、バンクB2のデータは正常に記録された状態にある。しかしながら、上記第1の実施形態においては、5番目の組合せとなった場合、双方のバンクの消去が行われてしまうため、正常に記憶されているデータも消去されてしまうこととなる。
以下、これを解決するための手法を第2の実施形態として説明する。図9は第2の実施形態における不揮発性メモリ2のバンクB1,B2を模式的に示す図である。図9に示すように第2の実施形態においては、バンクB1,B2に、フラグを書き込むブロックを設けるとともに、各バンクB1,B2に記憶されるデータの誤りを検出するためのチェックサムを書き込むブロックを設けるようにしたものである。
なお、第2の実施形態においては、チェックサムの算出は、バンクB1,B2に記録されるデータのみを用いて行い、フラグのブロックに書き込まれるフラグのデータは使用しないものとする。また、チェックサムはバンクB1,B2にデータが書き込まれる毎に算出する必要があるため、データ件数分のブロックをチェックサム用のブロックとして確保する必要がある。
次いで、第2の実施形態において行われる処理について説明する。なお、第2の実施形態において行われる処理は、上記第1の実施形態においてバンクB1,B2のフラグの組合せが5番目の組合せとなったときに行われるものであるため、ここでは、第1の実施形態におけるステップST11が肯定された以降の処理についてのみ説明する。図10は第2の実施形態において電源遮断が生じた後の電源オン時に行われる処理を示すフローチャートである。
ステップST11が否定されると、制御部3は、バンクB1,B2上のチェックサム(すなわちバンクB1,B2に書き込まれているチェックサム)を読み出し(ステップST21)、まずバンクB1に書き込まれているデータを用いて、バンクB1上のチェックサムにエラーが生じているか否かを判定する(ステップST22)。ステップST22が肯定されると、バンクB1の消去中に電源遮断が生じてバンクB1上のフラグが0×FFFFから0×3333となってしまったことが推定できるため、バンクB1の消去を行い(ステップST23)、消去完了後バンクB1に書き込まれるバンクB2についてのフラグを0×7777に設定し(ステップST24)、さらにバンクB2に書き込まれるバンクB1についてのフラグを0×1111に設定し(ステップST25)、処理を終了する。
一方、ステップST22が否定されると、バンクB2に書き込まれているデータを用いて、バンクB2上のチェックサムにエラーが生じているか否かを判定する(ステップST26)ステップST26が肯定されると、バンクB2の消去中に電源遮断が生じてバンクB2上のフラグが0×FFFFから0×3333となってしまったことが推定できるため、バンクB2の消去を行い(ステップST27)、消去完了後バンクB2に書き込まれるバンクB1についてのフラグを0×7777に設定し(ステップST28)、さらにバンクB1に書き込まれるバンクB2についてのフラグを0×1111に設定し(ステップST29)、処理を終了する。
さらに、ステップST26が否定されると、電源遮断時の状況が分からないことから、第1の実施形態と同様に第5の処理を行い(ステップST30)、処理を終了する。
このように、第2の実施形態においては、バンクB1,B2にチェックサムを書き込み、5番目の組合せのように、バンクB1,B2のフラグのみでは消去中であったバンクを検出不可能な場合にチェックサムを用いるようにしたため、データの消去中であったバンクを確実に検出することができ、その結果、異常がないバンクのデータを消去してしまうことを防止できる。
なお、上記第2の実施形態においては、チェックサムを用いているが、チェックサムに代えてCRCを用いるようにしてもよい。
また、上記第1の実施形態においては、不揮発性メモリ2を2つのバンクに分けて管理しているが3つのバンクに分けるようにしてもよい。以下、これを第3の実施形態として説明する。図11は第3の実施形態における不揮発性メモリ2のバンクを模式的に示す図である。図11に示すように第3の実施形態においては、不揮発性メモリ2は第1から第3のバンクB1〜B3に分けられて管理されており、各バンクB1〜B3には自身とは異なるバンクの状態を表すフラグを書き込むための2つのブロックが設けられている。すなわち、バンクB1にはバンクB2,B3のフラグが、バンクB2にはバンクB3,B1のフラグが、バンクB3にはバンクB1,B2のフラグがそれぞれ書き込まれる。
このようにフラグを書き込む場合においては、電源遮断が生じた後の電源オン時に、各バンクに設定されたフラグを読み出し、フラグを比較することにより、いずれのバンクが消去中であったかを判定することができる。例えば、バンクB1,B2が通常状態にあり、バンクB3が消去中であるときに電源遮断が生じ、バンクB3のフラグが偶然変更されてしまった場合、各バンクB1〜B3のフラグは図12に示す状態となる。各バンクB1〜B3にはそれぞれ2つのフラグが設定されるため、各バンクB1〜B3設定されたフラグを比較すると、バンクB1については2つのフラグはともに0×7777であるため電源遮断が生じた際には通常使用中であったことが分かる。バンクB2については0×7777および0×3333が設定されているため、電源遮断が生じた際の状態が分からない。バンクB3については2つのフラグはともに0×3333であるため、電源遮断が生じた際には消去中であったことが分かる。
以上より、いすれのフラグも消去中であるバンクを検出することにより、消去中であったバンクが分かるため、電源オン時には消去中であったバンクの消去の処理を実行し、消去後にそのバンクについてのフラグを0×7777に設定すればよいこととなる。これにより、消去中であったバンクを確実に検出することができるため、異常がないバンクのデータを消去してしまうことを防止できる。
なお、上記第3の実施形態においては、不揮発性メモリ2を3つのバンクに分けているが、4以上のバンクに分けるようにしてもよい。この場合、各バンクのフラグは少なくとも2つの他のバンクに書き込むようにすればよい。
次いで、本発明の第4の実施形態について説明する。図13は本発明の第4の実施形態による半導体メモリ装置の構成を示す概略ブロック図である。なお、第4の実施形態において第1の実施形態と同一の構成については同一の参照番号を付与し、ここでは詳細な説明は省略する。図13に示すように第4の実施形態による半導体メモリ装置10は、通常電源により駆動する第1の領域10Aおよびバックアップ電源により駆動する第2の領域10Bに分け、第1の領域10Aに不揮発性メモリ2およびインターフェース4を、第2の領域10Bに制御部3および他の不揮発性メモリ5を設けるようにした点が第1の実施形態と異なる。
そして、第4の実施形態においては、不揮発性メモリ2の各バンクB1,B2にフラグを書き込む際に、不揮発性メモリ5にフラグをバックアップする。このようにフラグをバックアップ電源により駆動する領域10Bに設けられた不揮発性メモリ5にバックアップすることにより、バックアップ中に通常電源の電源遮断が生じても、バックアップ電源によりバックアップは継続されることとなる。このため、通常電源の電源遮断によって不揮発性メモリ2の各バンクB1,B2のフラグが偶然変更されてしまっても、不揮発性メモリ5に書き込まれたフラグは、各バンクB1,B2の状態を正しく表すものとなる。
したがって、電源遮断が生じた後の電源オン時に、不揮発性メモリ5に記憶されたフラグを参照することにより、各バンクB1,B2の状態を認識することができるため、各バンクB1,B2のフラグの組合せに応じて、上記第1の実施形態と同様の処理を行うことにより、電源遮断により異常が生じたバンクB1,B2の異常を直ちに解消して、データの書き込みを行うことができることとなる。
なお、上記第4の実施形態においては、不揮発性メモリ2の各バンクB1,B2にフラグを書き込む際に、不揮発性メモリ5にフラグをバックアップする構成としているが、不揮発性メモリ2の各バンクB1,B2にフラグを書き込むことなく、不揮発性メモリ5に直接フラグを書き込む構成としてもよい。これにより、通常電源の電源遮断が生じたときのみならず、通常利用時においても不揮発性メモリ5に書き込まれたフラグを参照することにより、判定のための処理を少なくすることができ、その結果、処理を高速に行うことが可能となる。
なお、上記第1から第3の実施形態による半導体メモリ装置は、不揮発性メモリを使用する各種機器に使用することができる。例えば、電話機およびファックスの電話帳、通話履歴および通信履歴を残すためのメモリ、ファックスにおける受信した画像を保存するためのメモリ、孔版印刷機のエラー履歴および所望とする印刷の態様を設定した印刷設定データ等を残すためのメモリ、カーナビゲーションシステムの軌跡データを残すためのメモリ、体重計および血圧計等の健康器具の計測データを残すためのメモリ等に使用することができる。
1,10 半導体メモリ装置
2,5 不揮発性メモリ
3 制御部
4 インターフェース
2,5 不揮発性メモリ
3 制御部
4 インターフェース
Claims (6)
- 不揮発性メモリおよび該不揮発性メモリに対するデータの書き込みおよび消去の制御を行う制御部を備えた半導体メモリ装置において、
前記制御部は、前記不揮発性メモリを複数の記憶領域により管理し、各記憶領域の状態情報を自身とは異なる他の記憶部に書き込み、前記データの消去中に電源が遮断された場合、電源オン時における前記各記憶領域に書き込まれた状態情報に基づいて、前記電源遮断時に前記データが消去中であった消去中記憶領域を検出し、少なくとも該消去中記憶領域の異常状態を解消するよう前記不揮発性メモリを制御することを特徴とする半導体メモリ装置。 - 前記他の記憶部は、前記自身とは異なる他の記憶領域であることを特徴とする請求項1記載の半導体メモリ装置。
- 前記制御部は、前記不揮発性メモリを2つの記憶領域により管理し、前記電源オン時における一方の記憶領域に書き込まれた状態情報が消去中である場合、他方の記憶領域のデータの消去を実行し、該消去が完了した後に前記一方の記憶領域へのデータの書き込みまたは消去を実行することにより前記消去中記憶領域の異常状態を解消するよう、前記不揮発性メモリを制御することを特徴とする請求項2記載の半導体メモリ装置。
- 前記制御部は、前記各記憶領域に書き込まれるデータ量を管理する管理情報を該各記憶領域自身に書き込み、該管理情報にも基づいて前記消去中記憶領域を検出するよう、前記不揮発性メモリを制御することを特徴とする請求項2または3記載の半導体メモリ装置。
- 前記制御部は、前記不揮発性メモリを3以上の記憶領域により管理し、前記各記憶領域の状態情報を自身とは異なる他の複数の記憶領域に書き込み、前記電源オン時における前記消去中記憶領域の検出を、前記複数の記憶領域に書き込まれた前記各記憶領域の状態情報に基づいて行うよう、前記不揮発性メモリを制御することを特徴とする請求項2記載の半導体メモリ装置。
- 前記他の記憶部は、前記不揮発性メモリとは異なる、専用の電源を有する他の不揮発性メモリであることを特徴とする請求項1記載の半導体メモリ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008311951A JP2010134822A (ja) | 2008-12-08 | 2008-12-08 | 半導体メモリ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008311951A JP2010134822A (ja) | 2008-12-08 | 2008-12-08 | 半導体メモリ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010134822A true JP2010134822A (ja) | 2010-06-17 |
Family
ID=42346037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008311951A Withdrawn JP2010134822A (ja) | 2008-12-08 | 2008-12-08 | 半導体メモリ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010134822A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011071126A1 (ja) | 2009-12-09 | 2011-06-16 | 旭硝子株式会社 | Euvリソグラフィ用多層膜ミラーおよびその製造方法 |
JP2013003655A (ja) * | 2011-06-13 | 2013-01-07 | Denso Corp | フラッシュメモリにデータの書き込みを行う制御装置 |
-
2008
- 2008-12-08 JP JP2008311951A patent/JP2010134822A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011071126A1 (ja) | 2009-12-09 | 2011-06-16 | 旭硝子株式会社 | Euvリソグラフィ用多層膜ミラーおよびその製造方法 |
WO2011071123A1 (ja) | 2009-12-09 | 2011-06-16 | 旭硝子株式会社 | Euvリソグラフィ用反射層付基板、euvリソグラフィ用反射型マスクブランク、euvリソグラフィ用反射型マスク、および該反射層付基板の製造方法 |
JP2013003655A (ja) * | 2011-06-13 | 2013-01-07 | Denso Corp | フラッシュメモリにデータの書き込みを行う制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4560408B2 (ja) | 不揮発性記憶装置の制御方法 | |
US7558904B2 (en) | Controller, data memory system, data rewriting method, and computer program product | |
JP2010152514A (ja) | メモリシステム | |
JP2012128643A (ja) | メモリシステム | |
JP2008198310A (ja) | ビットエラーの修復方法および情報処理装置 | |
JP2008192054A (ja) | 半導体メモリシステム | |
JPWO2009004674A1 (ja) | 記憶装置、ディスク装置、書込み判定方法、制御装置 | |
JP2008033801A (ja) | メモリデータ管理装置 | |
JP2000099405A (ja) | フラッシュメモリを有する電子機器 | |
JP2007241618A (ja) | 不揮発性記憶装置及びその書き込み判定方法 | |
JP2010086009A (ja) | 記憶装置およびメモリ制御方法 | |
JP4177360B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
CN105320468A (zh) | 半导体存储器件、存储控制器以及存储控制器的控制方法 | |
JP2008191701A (ja) | エラー回復処理方法および情報処理装置 | |
JP4661369B2 (ja) | メモリコントローラ | |
US7257030B2 (en) | Operating a storage component | |
JP2010134822A (ja) | 半導体メモリ装置 | |
JP2008310896A (ja) | 不揮発性記憶装置、不揮発性記憶システムおよび不揮発性記憶装置の制御方法 | |
JP2010061257A (ja) | 半導体メモリ装置 | |
JP2004341783A (ja) | データ記憶方法、及びデータ記憶装置 | |
JP6040895B2 (ja) | マイクロコンピュータ及び不揮発性メモリのブロック管理方法 | |
JP5533141B2 (ja) | 書き込み装置、書き込み方法、及び書き込みプログラム | |
JP4194518B2 (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP3314719B2 (ja) | フラッシュeepromとその試験方法 | |
JP2009083777A (ja) | 車両制御装置およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120306 |