(57)【要約】【課題】フラッシュメモリへのデータの書き込みは１または複数のページ単位で行われ、一方、書き込んだデータの消去はブロック単位で行われる。【解決手段】複数のブロックから構成され、ブロックが複数のページから構成される書き換え可能なフラッシュメモリ１２と、書き込みデータ領域と、書き込みデータ領域に続く管理フラグ領域と、から構成される領域を１つの管理単位とし、第一の管理単位の管理フラグ領域に書き込み開始フラグを書き込んだ後、第一の管理単位の書き込みデータ領域にデータを書き込み、第一の管理単位の管理フラグ領域の書き込み開始フラグを書き込み完了フラグに書き換える書き込み動作を行い、第一の管理単位への書き込み動作完了後、第一の管理単位に続く第二の管理単位への書き込み動作を開始する制御部１１とからなるフラッシュメモリ制御装置１００。【選択図】図２
2013003623.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックから構成され、前記ブロックが複数のページから構成される書き換え可能なフラッシュメモリと、
所定数の前記ページからなる書き込みデータ領域と、前記書き込みデータ領域に続く１の前記ページからなる管理フラグ領域と、から構成される領域を１つの管理単位とし、
第一の前記管理単位の管理フラグ領域に書き込み開始フラグを書き込んだ後、第一の前記管理単位の書き込みデータ領域にデータを書き込み、
第一の前記管理単位の書き込みデータ領域にデータを書き込んだ後、第一の前記管理単位の管理フラグ領域の書き込み開始フラグを書き込み完了フラグに書き換える書き込み動作を行い、
第一の前記管理単位への書き込み動作完了後、第一の前記管理単位に続く第二の管理単位への書き込み動作を開始する制御部と
からなるフラッシュメモリ制御装置。
【請求項２】
前記制御部は、
前記書き込み動作を行ったブロックにおいて、書き込み動作を行っていない前記ページが前記管理単位よりも少なくなった後、前記書き込み動作を行ったブロックのデータおよびフラグを消去する
ことを特徴とする請求項１記載のフラッシュメモリ制御装置。
【請求項３】
前記フラッシュメモリにおいて、
前記書き込み動作を行っていないページのビットは全て１である
ことを特徴とする請求項１記載のフラッシュメモリ制御装置。
【請求項４】
複数のブロックから構成され、前記ブロックが複数のページから構成される書き換え可能なフラッシュメモリにおけるフラッシュメモリ制御方法において、
所定数の前記ページからなる書き込みデータ領域と、前記書き込みデータ領域に続く１の前記ページからなる管理フラグ領域と、から構成される領域を１つの管理単位とし、
第一の前記管理単位の管理フラグ領域に書き込み開始フラグを書き込んだ後、第一の前記管理単位の書き込みデータ領域にデータを書き込み、
第一の前記管理単位の書き込みデータ領域にデータを書き込んだ後、第一の前記管理単位の管理フラグ領域の書き込み開始フラグを書き込み完了フラグに書き換える書き込み動作を行い、
第一の前記管理単位への書き込み動作完了後、第一の前記管理単位に続く第二の管理単位への書き込み動作を開始するステップ
からなるフラッシュメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリ制御装置およびフラッシュメモリ制御方法に関し、特に、フラッシュメモリを効率的に使用しながらデータ読み出し時の不具合の発生を軽減するとともに、フラッシュメモリに書き込んだデータの消去回数を軽減することでフラッシュメモリの製品寿命を延ばすことが可能なフラッシュメモリ制御装置およびフラッシュメモリ制御方法に関する。
【背景技術】
【０００２】
デジタルカメラや携帯電話等で広く使用されている書き換え可能な記憶装置としてＮＡＮＤ（Ｎｏｔ  ＡＮＤ）型のフラッシュメモリがある。同じ書き換え可能な記憶装置であるＮＯＲ（Ｎｏｔ  ＯＲ）型のフラッシュメモリと比較して、回路規模が小さく、安価に大容量化が可能であり、また、メモリへのデータの書き込みやメモリからのデータの消去が高速であるという特性を持つ。
【０００３】
ＮＡＮＤ型フラッシュメモリ（以降、ＮＡＮＤメモリと略す）は、複数のブロックから構成されており、さらに１つのブロックは複数のページから構成されている。ＮＡＮＤメモリにおいて、データの書き込みは１または複数のページ単位で行われ、一方、書き込んだデータの消去はブロック単位で行われる。
【０００４】
従って、データの書き込みを行ったブロックにおいて、データの書き込みが行われていないページ数がデータの書き込みに必要なページ数よりも少なくなった後に、該ブロックのデータを消去することが望ましい。加えて、書き込んだデータをＮＡＮＤメモリから読み出す際の便宜上、データの書き込み単位は、例えば２ページ毎といった具合に、一定であることが望ましい。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１５４７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＮＡＮＤメモリへのデータ書き込みの途中で、電源の供給が突然遮断される等によりデータの書き込みに失敗した場合、ＮＡＮＤメモリから所望のデータを読み出せない不具合が生じ得る。例えば、ＮＡＮＤメモリへのデータの書き込みを２ページ単位で行うはずが、２ページ目のデータ書き込みに失敗すると、ＮＡＮＤメモリからデータを読み出す際、前回書き込んだ２ページ目のデータと今回書き込んだ１ページ目のデータを、今回書き込んだ２ページのデータとして、誤ってデータを読み出す不具合が生じ得る。
【０００７】
上記不具合を解決する方法として、データを書き込む度に、データを書き込んだブロックのデータを消去することも考えられるが、ＮＡＮＤメモリの使用効率が低下することに加え、該ブロックの消去回数が増加することにより、ＮＡＮＤメモリに不良ブロックが発生し、ＮＡＮＤメモリの製品寿命が縮まるという課題を有する。
【０００８】
ＮＡＮＤメモリでの不良ブロックの発生を軽減する方法として、ＮＡＮＤメモリの複数のブロックのうち、全ブロック数より少ない任意の数のブロックをリフレッシュし、所定のタイミングの度に、前回とは異なるブロックをリフレッシュする方法が開示されている（例えば、特許文献１）が、依然、上述した課題を解決するには至らない。
【０００９】
本発明は、フラッシュメモリ制御装置およびフラッシュメモリ制御方法に関し、特に、フラッシュメモリを効率的に使用しながらデータ読み出し時の不具合の発生を軽減するとともに、フラッシュメモリに書き込んだデータの消去回数を軽減することでフラッシュメモリの製品寿命を延ばすことが可能なフラッシュメモリ制御装置およびフラッシュメモリ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記従来の課題を解決するために、本発明のフラッシュメモリ制御装置は、複数のブロックから構成され、前記ブロックが複数のページから構成される書き換え可能なフラッシュメモリと、所定数の前記ページからなる書き込みデータ領域と、前記書き込みデータ領域に続く１の前記ページからなる管理フラグ領域と、から構成される領域を１つの管理単位とし、第一の前記管理単位の管理フラグ領域に書き込み開始フラグを書き込んだ後、第一の前記管理単位の書き込みデータ領域にデータを書き込み、第一の前記管理単位の書き込みデータ領域にデータを書き込んだ後、第一の前記管理単位の管理フラグ領域の書き込み開始フラグを書き込み完了フラグに書き換える書き込み動作を行い、第一の前記管理単位への書き込み動作完了後、第一の前記管理単位に続く第二の管理単位への書き込み動作を開始する制御部とからなる。
【００１１】
また、本発明のフラッシュメモリ制御方法は、複数のブロックから構成され、前記ブロックが複数のページから構成される書き換え可能なフラッシュメモリにおけるフラッシュメモリ制御方法において、所定数の前記ページからなる書き込みデータ領域と、前記書き込みデータ領域に続く１の前記ページからなる管理フラグ領域と、から構成される領域を１つの管理単位とし、第一の前記管理単位の管理フラグ領域に書き込み開始フラグを書き込んだ後、第一の前記管理単位の書き込みデータ領域にデータを書き込み、第一の前記管理単位の書き込みデータ領域にデータを書き込んだ後、第一の前記管理単位の管理フラグ領域の書き込み開始フラグを書き込み完了フラグに書き換える書き込み動作を行い、第一の前記管理単位への書き込み動作完了後、第一の前記管理単位に続く第二の管理単位への書き込み動作を開始するステップからなる。
【００１２】
本発明のフラッシュ制御装置およびフラッシュメモリ制御方法によれば、ある１のブロックにおいて、所定数のページを１つの管理単位とし、１つの管理単位において、所定の書き込みデータ領域と管理フラグ領域を設け、管理フラグ領域に書き込まれた管理フラグにより、書き込みデータ領域に書き込まれるまたは書き込まれたデータの状態を管理するので、フラッシュメモリを効率的に使用しながら書き込みデータ領域に書き込んだデータを読み出す時の不具合の発生を軽減することが可能となる。
【発明の効果】
【００１３】
本発明のフラッシュメモリ制御装置およびフラッシュメモリ制御方法によれば、ある１のブロックにおいて、所定数のページを１つの管理単位とし、１つの管理単位において、所定の書き込みデータ領域と管理フラグ領域を設け、管理フラグ領域に書き込まれた管理フラグにより、書き込みデータ領域に書き込まれるまたは書き込まれたデータの状態を管理するので、フラッシュメモリを効率的に使用しながら書き込みデータ領域に書き込んだデータを読み出す時の不具合の発生を軽減することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施例１に係るフラッシュメモリ制御装置の構成を示すブロック図
【図２】本発明の実施例１に係るフラッシュメモリの構成を示す図
【図３】本発明の実施例１に係るフラッシュメモリ制御装置の制御部がフラッシュメモリのデータを制御する一例を示す図
【図４】本発明の実施例１に係るフラッシュメモリ制御装置の制御部によるフラッシュメモリの制御の流れを示すフローチャート
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための一実施の形態について、図面を参照しながら説明する。
【実施例１】
【００１６】
＜フラッシュメモリ制御装置１００の構成と機能＞
図１は、本発明の実施例１に係るフラッシュメモリ制御装置の構成を示すブロック図である。
【００１７】
フラッシュメモリ制御装置１００は、制御部１１およびフラッシュメモリ１２からなる。
【００１８】
制御部１１は、フラッシュメモリ制御装置１００を制御する。例えば、制御部１１は、フラッシュメモリ１２に対し、各種データおよびフラグの書き込み、読み出しおよび消去を行う。
【００１９】
フラッシュメモリ１２は、書き換え可能な不揮発性のメモリであり、ここでは、ＮＡＮＤ型のフラッシュメモリを指す。フラッシュメモリ１２において、制御部１１からの制御により、各種データ・フラグの書き込み、読み出しおよび消去が行われる。
【００２０】
図２は、本発明の実施例１に係るフラッシュメモリの構成を示す図である。
【００２１】
フラッシュメモリ１２は、ブロック１〜ｍ（ｍは任意の整数）から構成され、各ブロックは、ページ１〜ｎ（ｎは任意の整数）から構成される。
【００２２】
フラッシュメモリ１２は、ページ１から所定数のページを１つの管理単位として、制御部１１により制御される。具体的には、１つの管理単位において、１ページ目からαページ目（αは０以上の整数）を書き込みデータ領域として、該書き込みデータ領域には、データが書き込まれる。一方、同管理単位において、書き込みデータ領域に続くページからβページ目（βは０以上の整数）を管理フラグ領域として、該管理フラグ領域には、書き込みデータ領域に書き込まれるまたは書き込まれたデータの状態を管理するための管理フラグが書き込まれる。
【００２３】
図２は、一例として、３ページを１つの管理単位とし、１つの管理単位において、１ページ目および２ページ目を書き込みデータ領域とし、該書き込みデータ領域に続く３ページ目を管理フラグ領域としている。
【００２４】
管理フラグ領域に書き込まれる管理フラグは、以下の３種類から構成される。つまり、第一の管理単位において、（１）書き込みデータ領域にデータの書き込みが開始されることを示す書き込み開始フラグ、（２）書き込みデータ領域へのデータの書き込みが完了したことを示す書き込み完了フラグ、（３）第一の管理単位の書き込みデータ領域への書き込みが完了し、第一の管理単位に続く第二の管理単位の書き込みデータ領域への書き込みが完了した際、第一の管理単位の書き込みデータ領域は使用済みであることを示す使用済みフラグの３種類である。
【００２５】
なお、図２において、フラッシュメモリ１２は、ページ１から３ページを１つの管理単位として、制御部１１により制御されるとしたが、これに限定されない。例えば、フラッシュメモリ１２は、ページｎから３ページを１つの管理単位として、制御部１１により制御されてもよい。
【００２６】
また、図２において、１つの管理単位において、書き込みデータ領域に続く３ページ目を管理フラグ領域として、制御部１１により制御されるとしたが、これに限定されない。例えば、１つの管理単位において、１ページ目及び３ページ目を書き込みデータ領域とし、２ページ目を管理フラグ領域として、制御部１１により制御されてもよい。ただし、制御部１１によるフラッシュメモリ１２の制御をより簡易にするためには、図２に示すとおり、１つの管理単位において、書き込みデータ領域に続く３ページ目を管理フラグ領域とすることが望ましい。
【００２７】
＜制御部によるフラッシュメモリの制御の流れを示すフロー＞
次に、制御部１１によるフラッシュメモリ１２の制御の流れを、図３および図４を用いて説明する。
【００２８】
図３は、本発明の実施例１に係るフラッシュメモリ制御装置の制御部がフラッシュメモリのデータを制御する一例を示す図である。
【００２９】
図３において、フラッシュメモリ１２は、１ブロックが６４ページからなり、１ページの記憶容量が４ｂｙｔｅ（３２ｂｉｔ）である例を示している。また、本実施例において、制御部１１は、フラッシュメモリ１２の、ページ１から３ページを１つの管理単位とし、１つの管理単位において、１ページ目および２ページ目を書き込みデータ領域とし、該書き込みデータ領域に続く３ページ目を管理フラグ領域として、フラッシュメモリ１２を制御する。
【００３０】
図４は、本発明の実施例１に係るフラッシュメモリ制御装置の制御部によるフラッシュメモリの制御の流れを示すフローチャートである。
【００３１】
フラッシュメモリ１２は、図３（ａ）に示す状態、つまり、フラッシュメモリ１２にはデータが一切書き込まれていない状態であるとして、話を進める。なお、制御部１１は、フラッシュメモリ１２のデータが書き込まれていないページの全てのビットに「１」を立てるようにフラッシュメモリ１２を制御する。
【００３２】
まず始めに、制御部１１は、フラッシュメモリ１２のある１のブロックの中のページに書き込み完了フラグが存在するか否かを確認し、存在する場合には最新の書き込み完了フラグを探す（ステップＳ４１）。その際、制御部１１は、ページ１から昇順に書き込み完了フラグを探す場合は、最後の書き込み完了フラグを最新の書き込み完了フラグとし、一方、ページ６４から降順に書き込み完了フラグを探す場合は、最初の書き込み完了フラグを最新の書き込み完了フラグとすればよい。
【００３３】
ここでは、フラッシュメモリ１２のある１のブロックのいずれのページにもデータが書き込まれていないので書き込み完了フラグは存在せず（ステップＳ４１でＮｏ）、次に、制御部１１は、書き込み動作を行っていないページが管理単位よりも多いか否かを確認する（ステップＳ４２）。
【００３４】
ここでは、フラッシュメモリ１２のある１のブロックのいずれのページにもデータが書き込まれていないので、書き込み動作を行っていないページは６４ページであり、管理単位である３ページよりも多いので（ステップＳ４２でＹｅｓ）、制御部１１は、管理フラグ領域への書き込み開始フラグの書き込みを行う（ステップＳ４３）。ここでは、ページ３に書き込み開始フラグとして、“ＰＡＮＡ”（ＡＳＣＩＩ文字コード）を書き込む（図３（ｂ））。ここで、書き込み開始フラグは“ＰＡＮＡ”以外も適用可能であり、制御部１１が書き込み開始フラグとして認識できる所定の値であればよい。
【００３５】
次に、制御部１１は、書き込みデータ領域へのデータの書き込みを行う（ステップＳ４４）。ここでは、制御部１１は、ページ１およびページ２にデータを書き込む（図３（ｃ））。
【００３６】
次に、制御部１１は、書き込みデータ領域へのデータの書き込みが完了すると、管理フラグ領域に書き込んだ書き込み開始フラグを書き込み完了フラグに書き換える（ステップＳ４５）。ここでは、ページ３の書き込み開始フラグ“ＰＡＮＡ”を、書き込み完了フラグ“ＰＡ”００００（ＰＡはＡＳＣＩＩ文字コード、００００は１６進数表記）に書き換える（図３（ｄ））。ここで、書き込み完了フラグは“ＰＡ”００００以外も適用可能であり、制御部１１が書き込み完了フラグとして認識できる所定の値であればよいが、ビットを０→１に制御する際にはブロック全体を消去する必要があるＮＡＮＤメモリの性質上、“ＰＡＮＡ”からビットを１→０に制御する値である必要がある。
【００３７】
なお、ステップＳ４２において、制御部１１は、書き込み動作を行っていないページが管理単位よりも多い場合（ステップＳ４２でＮｏ）、フラッシュメモリ１２への書き込み動作を終了する。
【００３８】
上記により、制御部１１によるフラッシュメモリ１２のある１のブロックの１の管理単位への書き込む動作が完了する。
【００３９】
続いて、制御部１１は、書き込み動作を行っていないページが管理単位よりも多いか否かを確認する（ステップＳ４６）。ここでは、フラッシュメモリ１２のある１のブロックの内、ページ１からページ３にデータおよびフラグが書き込まれており、書き込み動作がなされていないページは６１ページであり、管理単位である３ページよりも多いので（ステップＳ４６でＹｅｓ）、制御部１１は、書き込み動作が完了した管理単位に続く次の管理単位の管理フラグ領域への書き込み開始フラグの書き込みを行う（ステップＳ４７）。ここでは、ページ６に先ほど同様に書き込み開始フラグとして、“ＰＡＮＡ”を書き込む（図３（ｅ））。
【００４０】
次に、制御部１１は、書き込み動作が完了した管理単位に続く次の管理単位の書き込みデータ領域へのデータの書き込みを行う（ステップＳ４８）。ここでは、制御部１１は、ページ４およびページ５にデータを書き込む（図３（ｆ））。
【００４１】
次に、制御部１１は、書き込み動作が完了した管理単位に続く次の管理単位の書き込みデータ領域へのデータの書き込みが完了すると、管理フラグ領域に書き込んだ書き込み開始フラグを書き込み完了フラグに書き換える（ステップＳ４９）。ここでは、ページ６の書き込み開始フラグ“ＰＡＮＡ”を、先ほど同様に書き込み完了フラグ“ＰＡ”００００（ＰＡはＡＳＣＩＩ文字コード、００００は１６進数表記）に書き換える（図３（ｇ））。
【００４２】
次に、制御部１１は、前回の管理単位、つまり、ステップＳ４３からステップＳ４５で行った書き込み動作における、管理フラグ領域の書き込み完了フラグを使用済みフラグに書き換える（ステップＳ５０）。ここでは、制御部１１は、ページ３に書き込んだ書き込み完了フラグ“ＰＡ”００００を使用済みフラグ００００００００に書き換える（図３（ｈ））。ここで、使用済みフラグは００００００００以外にも適用可能であり、制御部１１が使用済みフラグとして認識できる所定の値であればよいが、ビットを０→１に制御する際にはブロック全体を消去する必要があるＮＡＮＤメモリの性質上、“ＰＡＮＡ”００００からビットを１→０に制御する値である必要がある。
【００４３】
続いて、制御部１１は、再度、書き込み動作を行っていないページが管理単位よりも多いか否かを確認する（ステップＳ４６）。ここで、書き込み動作を行っていないページが管理単位よりも少なくなると（ステップＳ４６でＮｏ）、制御部１１は、任意のタイミングで、ある１のブロックに書き込まれたデータを消去し（ステップＳ５１）、フラッシュメモリ１２の制御への書き込み動作を終了する。
【００４４】
以上、本発明のフラッシュ制御装置およびフラッシュメモリ制御方法によれば、ある１のブロックにおいて、所定数のページを１つの管理単位とし、書き込み動作を行っていないページが管理単位よりも少なくなるまで該ある１のブロックで書き込み動作を行うので、フラッシュメモリを効率的に使用することが可能となる。
【００４５】
また、本発明のフラッシュ制御装置およびフラッシュメモリ制御方法によれば、ある１のブロックにおいて、所定数のページを１つの管理単位とし、１つの管理単位において、所定の書き込みデータ領域と管理フラグ領域を設け、管理フラグ領域に書き込まれた管理フラグにより、書き込みデータ領域に書き込まれるまたは書き込まれたデータの状態を管理するので、書き込みデータ領域に書き込んだデータを読み出す時の不具合の発生を軽減することが可能となる。
【００４６】
また、本発明のフラッシュ制御装置およびフラッシュメモリ制御方法によれば、ある１のブロックにおいて、所定数のページを１つの管理単位とし、書き込み動作を行っていないページが管理単位よりも少なくなるまで該ある１のブロックで書き込み動作を行い、書き込み動作を行っていないページが管理単位よりも少なくなった後、任意のタイミングで、該１のブロックに書き込まれたデータおよびフラグを消去するので、フラッシュメモリに書き込んだデータの消去回数を軽減することにより、フラッシュメモリの製品寿命を延ばすことが可能となる。
【００４７】
また、本発明のフラッシュ制御装置およびフラッシュメモリ制御方法によれば、ある１のブロックにおいて、所定数のページを１つの管理単位とし、１つの管理単位において、所定の書き込みデータ領域と管理フラグ領域を設け、管理フラグ領域に書き込む管理フラグを書き換える際、管理フラグのビットを１→０に制御する値に管理フラグを設定しているので、管理フラグを書き換える度にブロックに書き込まれたデータおよびフラグを消去する必要がなく、フラッシュメモリに書き込んだデータの消去回数を軽減することにより、フラッシュメモリの製品寿命を延ばすことが可能となる。
【産業上の利用可能性】
【００４８】
本発明は、フラッシュメモリ制御装置およびフラッシュメモリ制御方法に関し、特に、フラッシュメモリを効率的に使用しながらデータ読み出し時の不具合の発生を軽減するとともに、フラッシュメモリに書き込んだデータの消去回数を軽減することでフラッシュメモリの製品寿命を延ばすことが可能でありフラッシュメモリ制御技術として有効である。
【符号の説明】
【００４９】
１１    制御部
１２    フラッシュメモリ
１００    フラッシュメモリ制御装置
【図１】
2013003623.tif 000003
【図２】
2013003623.tif 000004
【図３】
2013003623.tif 000005
【図４】
2013003623.tif 000006