(57)【要約】メモリセルが複数のページのデータを保持する多値ＮＡＮＤフラッシュメモリ等の不揮発性メモリを用いる。不揮発性メモリ１１０にデータを書き込む際に、対になった複数のページ単位で物理ユニットを構成する。物理ユニットの全てに書き込めないときに、既に書き込まれている有効なデータを保持する旧物理ブロックからデータをコピーして、新物理ブロックに物理ユニットの終了まで書き込む。これにより次にデータを書き込むときに、新たな物理ユニットの最初から書き込むことができ、エラーを防ぐことができる。【特許請求の範囲】
【請求項１】
外部から与えられる書き込みおよび読み出しのコマンドとアドレスに基づいて、メモリに対してデータの書き込み、データの読み出しを行うメモリコントローラであって、
前記メモリは、複数のページから構成され、
前記ページは、前記メモリにおける書き込み単位であり、
一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、第１，第２のページからなるページグループの少なくともひとつから物理ユニットを構成し、
前記外部からの書き込みコマンドに対し、未書き込みの前記物理ユニットに対する書き込みを実行する物理ユニット書き込み部を備えるメモリコントローラ。
【請求項２】
前記メモリは、多値メモリセルを使用してデータを記憶する請求項１記載のメモリコントローラ。
【請求項３】
前記メモリは、不揮発性のメモリである請求項２記載のメモリコントローラ。
【請求項４】
前記物理ユニットは、連続する２ｎ（ｎ＝１，２・・・）ページによって構成される請求項３記載のメモリコントローラ。
【請求項５】
前記物理ユニット書き込み部は、前記外部からの１回のコマンドでの書き込みが、前記物理ユニット単位以下の書き込みで第１のデータを書き込む際に、既に書き込み済の物理ユニットから第２のデータをコピーすることにより、前記第１のデータと前記第２のデータで前記物理ユニットの単位でデータを書き込む請求項３記載のメモリコントローラ。
【請求項６】
前記物理ユニットがどの前記複数のページから構成されるかの情報を保持したページ情報指示部を具備する請求項３記載のメモリコントローラ。
【請求項７】
前記物理ユニットには、前記外部からの書き込みデータの書き込みが行われない領域が存在する請求項３記載のメモリコントローラ。
【請求項８】
前記書き込みが行われない領域は、前記ページグループの一部の領域である請求項７記載のメモリコントローラ。
【請求項９】
前記物理ユニットは、不連続な複数のページから構成される請求項３記載のメモリコントローラ。
【請求項１０】
前記物理ユニット書き込み部は、外部からの書き込コマンドに応じてメモリにデータを書き込む際に、前記物理ユニットのサイズを書き込みデータ容量に依存して変化させる請求項３記載のメモリコントローラ。
【請求項１１】
複数のページから構成される不揮発性メモリと、
外部から与えられる書き込みおよび読み出しのコマンドとアドレスに基づいて、前記不揮発性メモリに対してデータの書き込み、データの読み出しを行うメモリコントローラと、を有する不揮発性記憶装置であって、
前記ページは、前記メモリにおける書き込み単位であり、
一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、第１，第２のページからなるページグループの少なくともひとつから物理ユニットを構成し、
前記メモリコントローラは、
前記外部からの書き込みコマンドに対し、未書き込みの前記物理ユニットに対する書き込みを実行する物理ユニット書き込み部を備える不揮発性記憶装置。
【請求項１２】
前記不揮発性メモリは、多値メモリセルを使用してデータを記憶する請求項１１記載の不揮発性記憶装置。
【請求項１３】
前記物理ユニットは、連続する２ｎ（ｎ＝１，２・・・）ページによって構成される請求項１２記載の不揮発性記憶装置。
【請求項１４】
前記物理ユニット書き込み部は、前記外部からの１回のコマンドでの書き込みが、前記物理ユニット単位以下の書き込みで第１のデータを書き込む際に、既に書き込み済の物理ユニットから第２のデータをコピーすることにより、前記第１のデータと前記第２のデータで前記物理ユニットの単位でデータを書き込む請求項１２記載の不揮発性記憶装置。
【請求項１５】
前記メモリコントローラは、前記物理ユニットがどの前記複数のページから構成されるかの情報を保持したページ情報指示部を具備する請求項１２記載の不揮発性記憶装置。
【請求項１６】
前記物理ユニットには、前記外部からの書き込みデータの書き込みが行われない領域が存在する請求項１２記載の不揮発性記憶装置。
【請求項１７】
前記書き込みが行われない領域は、前記ページグループの一部の領域である請求項１６記載の不揮発性記憶装置。
【請求項１８】
前記物理ユニットは、不連続な複数のページから構成される請求項１２記載の不揮発性記憶装置。
【請求項１９】
前記物理ユニット書き込み部は、外部からの書き込コマンドに応じてメモリにデータを書き込む際に、前記物理ユニットのサイズを書き込みデータ容量に依存して変化させる請求項１２記載の不揮発性記憶装置。
【請求項２０】
アクセス装置と不揮発性記憶装置を具備する不揮発性記憶システムであって、
前記アクセス装置は、
前記不揮発性記憶装置に少なくとも書き込みコマンドとデータを送出するものであり、
前記不揮発性記憶装置は、
複数のページから構成される不揮発性メモリと、
外部から与えられる書き込みおよび読み出しのコマンドとアドレスに基づいて、前記不揮発性メモリに対してデータの書き込み、データの読み出しを行うメモリコントローラと、を有するものであり、
前記ページは、前記メモリにおける書き込み単位であり、
一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、第１，第２のページからなるページグループの少なくともひとつから物理ユニットを構成し、
前記メモリコントローラは、
前記外部からの書き込みコマンドに対し、未書き込みの前記物理ユニットに対する書き込みを実行する物理ユニット書き込み部を備える不揮発性記憶システム。
【請求項２１】
前記不揮発性メモリは、多値メモリセルを使用してデータを記憶する請求項２０記載の不揮発性記憶システム。
【請求項２２】
前記物理ユニットは、連続する２ｎ（ｎ＝１，２・・・）ページによって構成される請求項２１記載の不揮発性記憶システム。
【請求項２３】
前記物理ユニット書き込み部は、前記外部からの１回のコマンドでの書き込みが、前記物理ユニット単位以下の書き込みで第１のデータを書き込む際に、既に書き込み済の物理ユニットから第２のデータをコピーすることにより、前記第１のデータと前記第２のデータで前記物理ユニットの単位でデータを書き込む請求項２１記載の不揮発性記憶システム。
【請求項２４】
前記メモリコントローラは、前記物理ユニットがどの前記複数のページから構成されるかの情報を保持したページ情報指示部を具備する請求項２１記載の不揮発性記憶システム。
【請求項２５】
前記物理ユニットには、前記外部からの書き込みデータの書き込みが行われない領域が存在する請求項２１記載の不揮発性記憶システム。
【請求項２６】
前記書き込みが行われない領域は、前記ページグループの一部の領域である請求項２５記載の不揮発性記憶システム。
【請求項２７】
前記物理ユニットは、不連続な複数のページから構成される請求項２１記載の不揮発性記憶システム。
【請求項２８】
前記物理ユニット書き込み部は、外部からの書き込コマンドに応じてメモリにデータを書き込む際に、前記物理ユニットのサイズを書き込みデータ容量に依存して変化させる請求項２１記載の不揮発性記憶システム。
【請求項２９】
外部から与えられる書き込みのコマンドとアドレスに基づいて、メモリに対してデータの書き込みを行うデータ書き込み方法であって、
前記メモリは、複数のページから構成され、
前記ページは、前記メモリにおける書き込み単位であり、
一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、第１，第２のページからなるページグループの少なくともひとつから物理ユニットを構成し、
前記外部からの書き込みコマンドに対し、未書き込みの前記物理ユニットに対する書き込みを実行する物理ユニット書き込みステップを備えるデータ書き込み方法。
【請求項３０】
前記メモリは、多値メモリセルを使用してデータを記憶する請求項２９記載のデータ書き込み方法。
【請求項３１】
前記メモリは、不揮発性のメモリである請求項３０記載のデータ書き込み方法。
【請求項３２】
前記物理ユニットは、連続する２ｎ（ｎ＝１，２・・・）ページによって構成される請求項３１記載のデータ書き込み方法。
【請求項３３】
前記物理ユニット書き込みステップは、前記外部からの１回のコマンドでの書き込みが、前記物理ユニット単位以下の書き込みで第１のデータを書き込む際に、既に書き込み済の物理ユニットから第２のデータをコピーすることにより、前記第１のデータと前記第２のデータで前記物理ユニットの単位でデータを書き込む請求項３１記載のデータ書き込み方法。
【請求項３４】
前記物理ユニットがどの前記複数のページから構成されるかの情報を保持する請求項３１記載のデータ書き込み方法。
【請求項３５】
前記物理ユニットには、前記外部からの書き込みデータの書き込みが行われない領域が存在する請求項３１記載のデータ書き込み方法。
【請求項３６】
前記書き込みが行われない領域は、前記ページグループの一部の領域である請求項３５記載のデータ書き込み方法。
【請求項３７】
前記物理ユニットは、不連続な複数のページから構成される請求項３１記載のデータ書き込み方法。
【請求項３８】
前記物理ユニット書き込みステップは、外部からの書き込コマンドに応じてメモリにデータを書き込む際に、前記物理ユニットのサイズを書き込みデータ容量に依存して変化させる請求項３１記載のデータ書き込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、書き換え可能な不揮発性メモリを備えた不揮発性記憶装置、及びこれを制御するメモリコントローラ、不揮発性記憶システム、及びデータ書き込み方法に関する。
【背景技術】
【０００２】  書き換え可能な不揮発性の主記憶メモリを備えた不揮発性記憶装置は、半導体メモリカードを中心にその需要が広まっている。このメモリカードは、不揮発性メモリとしてフラッシュメモリを備え、それを制御するメモリコントローラを有している。メモリコントローラは、デジタルスチルカメラやパーソナルコンピュータ（ＰＣ）本体等のアクセス装置からの読み書き指示に応じて、フラッシュメモリに対する読み書き制御を行うものとなっている。【０００３】  又不揮発性メモリを用いた不揮発性記憶装置において、データを追記的に書き換える装置が知られている（特許文献１）。この不揮発性記憶装置では、ホストからの書き込みデータが消去ブロック単位未満の場合に、消去ブロック単位ではなく不揮発性メモリの最小書き込み単位（セクタ又はページ）の単位に合わせて書き込みを行っていた。これによって連続した論理アドレスへのデータ書き込み動作時の無駄なコピー処理をなくし、書き込み性能を向上させ得るフラッシュストレージメディアを提供している。【０００４】  さて、多値ＮＡＮＤフラッシュメモリは、低価格なフラッシュメモリとしての期待が大きく、今後メモリカードの主記憶メモリとして主流となる可能性が高い。特許文献２には、高速アクセスを実現するために、多値ＮＡＮＤフラッシュメモリのページ構造を改良した技術を開示している。２値のメモリである従来のフラッシュメモリは、ひとつのメモリセルはひとつのページのあるビットのデータを保持するものである。一方、多値ＮＡＮＤフラッシュメモリは、各メモリセルが複数のページ、例えば２つのページにまたがって構成される、即ち複数のビットのデータを保持するものである。【０００５】  図１〜図３は、多値ＮＡＮＤフラッシュメモリのように一つのメモリセルに複数ビットの情報を保持するメモリセルを使用して不揮発性メモリを構成した場合に、物理ブロックにおける同一のメモリセルグループの情報が保持されているページの位置を表す構成図である。図１〜図３において、ＰＮがページの番号を表し、物理ブロックに書き込みを行う際にはＰＮの番号順に書き込みを行う。また同一のグループ番号（ＧＮ）が付与されたページが、同一のメモリセルグループで保持されるデータが含まれる２つのページである。ハッチングを施していないページを同一のメモリセルグループにおいて先に書き込む第１ページとし、斜線でハッチングを施したページを後に書き込む第２ページとする。【０００６】  例えば図１に示した多値ＮＡＮＤフラッシュメモリは、偶数ページと奇数ページが対となって、ひとつのメモリセルグループを構成する。図中ＧＮで示すグループ番号が同じページが、１つのメモリセルグループで保持されるデータが含まれるページ対である。各ページ対において、アドレスが低順位のページを第１ページ、高順位のページ（ハッチングを施したページ）を第２ページとする。図１では、第１ページと第２ページが隣接しているが、図２，図３では、第１ページと第２ページが離れている。これは、既に書き込み済みのページに記憶されたデータが他のページへの書き込みによって生じる影響（ディスターブ）を少なくするために隔離されたものである。【０００７】  しかし、ひとつのメモリセルが２つのページに跨って構成された場合、一方のページの書き込み中にエラーが発生すると、他方のページに記憶されていたデータが変化してしまうという問題がある。この問題について、以下図４〜図６を用いて説明する。【０００８】  図４は、図１〜図３に示す多値ＮＡＮＤフラッシュメモリのメモリセルの閾値電圧の分布を表す特性図である。このメモリセルは２ビットの情報を記憶する。横軸がメモリセルの閾値電圧Ｖであり、縦軸はメモリセルの数Ｐであり、４つの曲線はメモリセルの閾値電圧が４箇所に分布していることを表す。【０００９】  さて図４の４つの分布において、左から“１１”、“１０”、“００”、“０１”のコードが割り当てられる。各コードの右側の桁（ビット）が第１ページに対応し、左側の桁（ビット）が第２ページに対応する。各メモリセルは消去済みの状態で“１１”である。この状態から第１ページ側に書き込むと、正常に書き込めた場合は、各メモリセルは“１１”の状態のままか、あるいは“１１”から“１０”の状態に遷移する。その後、第２ページ側に書き込むと、正常に書き込めた場合は、各メモリセルは“１１”の状態から“１１”の状態のままか、若しくは“０１”の状態に遷移する。あるいは“１０”から“１０”のまま、若しくは“００”の状態に遷移することとなる。【００１０】  図５は、メモリセルへ正常に書き込めた場合の状態を示す特性図である。図５において、第１ページと第２ページの書き込みによって、目標値である“０１”の情報を書き込むことを想定する。書き込み過程としては、まず第１ページの書き込みによって、“１１”の状態にし、次に第２ページの書き込みによって、“０１”の状態にすることとなる。【００１１】  図６は、メモリセルへ正常に書き込めなかった場合の状態を示す特性図である。図６では、第２ページの書き込みにおいて、メモリセルへの印加電圧が“１１”の状態から“０１”の状態に遷移する過程において、突然の電源遮断を含む電源電圧の変動や、メモリセル自身に発生する物性的な欠陥によって“１０”又は“００”の状態にはまる（図中の矢印では“１０”にはまる）ことを示している。このような状態になれば第２ページでの書き込みエラーが既に書き込み済みの第１ページに波及することとなる。
【特許文献１】特開２００４−６２３２８号公報
【特許文献２】特開２００１−９３２８８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】  図１で示した多値ＮＡＮＤフラッシュメモリを従来の不揮発性記憶システムである特許文献１に示したフラッシュストレージメディアに適用した場合のシステム上の課題について説明する。まずホスト機器がフラッシュストレージメディアにセクタ０〜３の２ｋＢのデータを書き込む場合には、フラッシュストレージメディアは先頭のページであるＰＮ０にのみ書き込みを行い、その後ホスト機器に対して正常に書き込みが終了したことを知らせる。これを受けてホスト機器はセクタ０〜３の２ｋＢのデータが正常に書きこめたものと認識する。さて次にホスト機器がフラッシュストレージメディアに新たにセクタ４〜７の２ｋＢのデータを書き込む場合には、ページの順番にデータを書き込む必要があるため、次のページであるＰＮ１にデータを書き込む。このＰＮ０とＰＮ１は図１に示すように同じグループ番号ＧＮ０を有している。そのためページ番号ＰＮ１、即ちセクタ番号４〜７の書き込む際にエラーが生じると、ページ番号ＰＮ１と同一グループのページ番号ＰＮ０のセクタ番号０〜３のデータが破壊される可能性がある。この場合にはこのデータを修復することができなくなる。フラッシュストレージメディアはホスト機器に対しては書き込みが終了したことを知らせないので、ホスト機器はセクタ４〜７の２ｋＢのデータが正常に書きこめなかったことは正しく認識できる。しかし先の書き込みで正しく書き込みが行えたと認識しているセクタ０〜３の２ｋＢのデータがフラッシュストレージメディア内部において破壊されていることは認識できないので、その後誤った認識の下でのフラッシュストレージメディアへの読出し・書き込みが継続されるという信頼性上の課題を有していた。【００１３】  そこで、本発明は、上記問題点に鑑み、所定ページへの書き込み処理の失敗に起因して該所定ページと同一のメモリセルを構成する他のページに記憶されたデータが変化したとしても信頼性上の課題を生じることのないメモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】  この課題を解決するために、本発明のメモリコントローラは、外部から与えられる書き込みおよび読み出しのコマンドとアドレスに基づいて、メモリに対してデータの書き込み、データの読み出しを行うメモリコントローラであって、前記メモリは、複数のページから構成され、前記ページは、前記メモリにおける書き込み単位であり、一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、第１，第２のページからなるページグループの少なくともひとつから物理ユニットを構成し、前記外部からの書き込みコマンドに対し、未書き込みの前記物理ユニットに対する書き込みを実行する物理ユニット書き込み部を備える。【００１５】  この課題を解決するために、本発明の不揮発性記憶装置は、複数のページから構成される不揮発性メモリと、外部から与えられる書き込みおよび読み出しのコマンドとアドレスに基づいて、前記不揮発性メモリに対してデータの書き込み、データの読み出しを行うメモリコントローラと、を有する不揮発性記憶装置であって、前記ページは、前記メモリにおける書き込み単位であり、一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、第１，第２のページからなるページグループの少なくともひとつから物理ユニットを構成し、前記メモリコントローラは、前記外部からの書き込みコマンドに対し、未書き込みの前記物理ユニットに対する書き込みを実行する物理ユニット書き込み部を備える。【００１６】  この課題を解決するために、本発明の不揮発性記憶システムは、アクセス装置と不揮発性記憶装置を具備する不揮発性記憶システムであって、前記アクセス装置は、前記不揮発性記憶装置に少なくとも書き込みコマンドとデータを送出するものであり、前記不揮発性記憶装置は、複数のページから構成される不揮発性メモリと、外部から与えられる書き込みおよび読み出しのコマンドとアドレスに基づいて、前記不揮発性メモリに対してデータの書き込み、データの読み出しを行うメモリコントローラと、を有するものであり、前記ページは、前記メモリにおける書き込み単位であり、一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、第１，第２のページからなるページグループの少なくともひとつから物理ユニットを構成し、前記メモリコントローラは、前記外部からの書き込みコマンドに対し、未書き込みの前記物理ユニットに対する書き込みを実行する物理ユニット書き込み部を備える。【００１７】  この課題を解決するために、本発明のデータ書き込み方法は、外部から与えられる書き込みのコマンドとアドレスに基づいて、メモリに対してデータの書き込みを行うデータ書き込み方法であって、前記メモリは、複数のページから構成され、前記ページは、前記メモリにおける書き込み単位であり、一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、第１，第２のページからなるページグループの少なくともひとつから物理ユニットを構成し、前記外部からの書き込みコマンドに対し、未書き込みの前記物理ユニット���対する書き込みを実行する物理ユニット書き込みステップを備える。【００１８】  ここで前記メモリは、多値メモリセルを使用してデータを記憶するようにしてもよい。【００１９】  ここで前記メモリは、不揮発性のメモリとしてもよい。【００２０】  ここで前記物理ユニットは、連続する２ｎ（ｎ＝１，２・・・）ページによって構成されるようにしてもよい。【００２１】  ここで前記物理ユニット書き込み部は、前記外部からの１回のコマンドでの書き込みが、前記物理ユニット単位以下の書き込みで第１のデータを書き込む際に、既に書き込み済の物理ユニットから第２のデータをコピーすることにより、前記第１のデータと前記第２のデータで前記物理ユニットの単位でデータを書き込むようにしてもよい。【００２２】  ここで前記物理ユニットがどの前記複数のページから構成されるかの情報を保持したページ情報指示部を具備するようにしてもよい。【００２３】  ここで前記物理ユニットには、前記外部からの書き込みデータの書き込みが行われない領域が存在するようにしてもよい。【００２４】  ここで前記書き込みが行われない領域は、前記ページグループの一部の領域であるようにしてもよい。【００２５】  ここで前記物理ユニットは、不連続な複数のページから構成されるようにしてもよい。【００２６】  ここで前記物理ユニット書き込み部は、外部からの書き込コマンドに応じてメモリにデータを書き込む際に、前記物理ユニットのサイズを書き込みデータ容量に依存して変化させるようにしてもよい。
【発明の効果】
【００２７】  本発明によれば、あるメモリセルが複数ページのデータを記憶するメモリに特有のエラーが発生してデータが変化してしまう状態が発生しても、外部のホスト機器がそのことを認識できないといった信頼性上の問題をあらかじめ避けることができる。そのため今後主流となる多値ＮＡＮＤなどのフラッシュメモリを適用した不揮発性記憶装置においても、メモリセルが１つのページのデータを記憶する従来のメモリを用いた不揮発性記憶装置と同等以上の高信頼性を確保することができるという効果が得られる。
【図面の簡単な説明】
【００２８】
【図１】図１は多値ＮＡＮＤ不揮発性メモリを表す構成図である。
【図２】図２は多値ＮＡＮＤ不揮発性メモリを表す構成図である。
【図３】図３は多値ＮＡＮＤ不揮発性メモリを表す構成図である。
【図４】図４は多値ＮＡＮＤフラッシュメモリのメモリセルの電圧分布を表す特性図である。
【図５】図５はメモリセルへ正常に書き込めた場合の状態を示す特性図である。
【図６】図６はメモリセルへ正常に書き込めなかった場合の状態を示す特性図である。
【図７】図７は本発明の第１の実施の形態による不揮発性記憶システムのブロック図である。
【図８】図８は本実施の形態による不揮発性メモリの構成を示す図である。
【図９】図９は不揮発性メモリ１１０内に設けられた物理ブロックのフォーマットを示した説明図である。
【図１０】図１０は論理アドレスＬＡのフォーマットを示した説明図である。
【図１１】図１１は物理領域管理テーブル１３１のフォーマットを示した説明図である。
【図１２】図１２は論理物理変換テーブル１３２のフォーマットを示した説明図である。
【図１３】図１３は書き込み状況管理テーブルの一例を示す説明図である。
【図１４】図１４はページ情報テーブルのフォーマットを表すアドレスマップである。
【図１５】図１５は初期化処理を示したフローチャートである。
【図１６】図１６はデータ書き込み処理を示したフローチャートである。
【図１７】図１７はある物理ブロックにデータを書き込む際の書き込み例を示す図である。
【図１８】図１８はデータの追記書き込み処理の一例を示す図である。
【図１９】図１９は第２の実施の形態によるデータ書き込み処理を示したフローチャートである。
【図２０】図２０は第２の実施の形態による不揮発性記憶システムの不揮発性メモリの構成を示す図である。
【図２１Ａ】図２１Ａは第２の実施の形態による不揮発性記憶システムのデータの書き込み状況を示す図である。
【図２１Ｂ】図２１Ｂは第２の実施の形態による不揮発性記憶システムのデータの書き込み状況を示す図である。
【図２１Ｃ】図２１Ｃは第２の実施の形態による不揮発性記憶システムのデータの書き込み状況を示す図である。
【図２２】図２２は第２の実施の形態の変形例による不揮発性記憶システムのデータの書き込み状況を示す図である。
【符号の説明】
【００２９】  １００Ａ  不揮発性記憶装置
１０１  アクセス装置
１１０  不揮発性メモリ
１２０Ａ  メモリコントローラ
１２２  ＣＰＵ
１２５  バッファメモリ
１２６  アドレス管理部
１２７  読み書き制御部
１２８  ページ情報指示部
１２９  物理ユニット書き込み部
１３１  物理領域管理テーブル
１３２  論理物理変換テーブル
１３３  書き込み状況管理テーブル
１４１  ページ情報テーブル
【発明を実施するための最良の形態】
【００３０】  （第１の実施の形態）
以下、本発明の第１の実施の形態による不揮発性記憶システムについて説明する。図７は、不揮発性記憶システムのブロック図である。不揮発性記憶システムは不揮発性記憶装置１００Ａとアクセス装置１０１とによって構成される。【００３１】  不揮発性記憶装置１００Ａは、フラッシュメモリからなる不揮発性メモリ１１０とメモリコントローラ１２０Ａとを有している。不揮発性メモリ１１０は、ひとつのメモリセルが２つのページに跨ってデータを保持する多値ＮＡＮＤフラッシュメモリである。不揮発性メモリ１１０は例えば図８に示すように、４０９６個の物理ブロックＰＢ０〜ＰＢ４０９５から構成される。物理ブロックは消去の単位であって、夫々１２８ページから構成される。各ページはメモリコントローラ１２０Ａからのアクセス単位であり、２１１２バイトの記憶容量をもつ。ここでは図１と同一のグループ構成のメモリとする。【００３２】  アクセス装置１０１は、不揮発性記憶装置１００Ａにユーザデータ（以下、単にデータ）の読み書き命令と、そのデータが格納されている論理アドレスの送信と、データの送受信を行うものである。このアクセス装置１０１からの読み書き命令を受けて、メモリコントローラ１２０Ａは、不揮発性メモリ１１０に受け取ったデータを書き込んだり、不揮発性メモリ１１０からデータを読み込み外部へ出力する。【００３３】  次に、メモリコントローラ１２０Ａの詳細について述べる。不揮発性記憶装置１００Ａに備えられたメモリコントローラ１２０Ａは、ホストＩＦ１２１と、メモリコントローラ１２０Ａ全体の制御を行うＣＰＵ１２２とを備えている。また、ＣＰＵ１２２の作業領域であるＲＡＭ１２３と、ＣＰＵ１２２が実行するプログラムを格納したＲＯＭ１２４とを有している。さらに、メモリコントローラ１２０Ａは、不揮発性メモリ１１０へアクセスする際にデータを一時記憶するためのバッファメモリ１２５と、不揮発性メモリ１１０のアドレスを指定するアドレス管理部１２６とを有している。【００３４】  読み書き制御部１２７は、アドレス管理部１２６が指定したアドレスに基づいて、不揮発性メモリ１１０内にデータを書き込んだり、不揮発性メモリ１１０内のデータを読み出したりするものである。【００３５】  図９は、不揮発性メモリ１１０内の物理ブロックのフォーマットを示したものである。この図に示すように、１つの物理ブロックはページ番号（ＰＮ）０〜１２７までの１２８ページから構成され、各ページは４セクタ分のデータ領域と管理領域ＭＲとからなる。１セクタは５１２バイト、１ページは４セクタで構成され、２０４８バイトである。管理領域ＭＲは１ページ当たり６４バイトである。１クラスタの情報を記憶するために必要なページ数は８ページである。なお、図９で左上からＰＳＡ０，ＰＳＡ１，…，ＰＳＡ５１１というように物理的な配置記号を付している。ＰＳＡとは物理セクタアドレス（Ｐｈｙｓｉｃａｌ  Ｓｅｃｔｏｒ  Ａｄｄｒｅｓｓ）の頭文字をとった略号である。【００３６】  図１０は、論理アドレスＬＡのフォーマットを示した説明図である。この図に示すように、下位ビットから順に、セクタ番号、ページ番号、論理ブロックアドレスＬＢＡとなっており、論理ブロックアドレスＬ��Ａに対応する１２ビット分がアドレス変換の対象、すなわち論理物理変換テーブル１３２のアドレスに相当する。アクセス装置１０１のファイルシステムで規定されるセクタサイズは５１２バイト、クラスタサイズは１６ｋバイトであるので、クラスタ番号のＬＳＢはビット５（ｂ５）に対応する。論理アドレスＬＡのｂ８〜ｂ２がページ番号に対応する。【００３７】  アドレス管理部１２６は、物理領域管理テーブル１３１と論理物理変換テーブル１３２、及び書き込み状況管理テーブル１３３を含む。アドレス管理部１２６は、これらのテーブルを参照しながら、アクセス装置１０１から転送されたデータの書き込み先の物理ブロックの選択や、当該物理ブロック内の書き込み先のページ、すなわちカレントページ番号の指示など、いわゆるアドレス管理を行うものである。物理領域管理テーブル１３１には、不揮発性メモリ１１０内における消去単位である物理ブロックの状態、すなわち有効なデータが記憶されているか否かのステータスフラグが記憶されている。論理物理変換テーブル１３２は、アクセス装置１０１が転送した論理アドレスを不揮発性メモリ１１０内の物理アドレスに変換するに必要なテーブルである。【００３８】  図１１は、物理領域管理テーブル１３１のフォーマットを示している。この図からわかるように、物理領域管理テーブル１３１のアドレスは不揮発性メモリ１１０の物理ブロックアドレスＰＢＡに対応し、各物理ブロックのステータスフラグを記憶している。ステータスフラグとして、２進数で値００は有効なデータが記憶されている有効ブロックを示し、値１１は消去済み又はデータが書き込まれているが不要である無効ブロックを示し、値１０はメモリセル上のソリッドエラー等により使用できなくなった不良ブロックを示す。【００３９】  図１２は、論理物理変換テーブル１３２のフォーマットを示す。このテーブル１３２は、各論理ブロックアドレスＬＢＡに対応する物理ブロックアドレスＰＢＡを保持するテーブルである。【００４０】  図１３は書き込み状況管理テーブル１３３を示す図である。書き込み状況管理テーブル１３３は、ある論理ブロックのデータを１つの物理ブロックだけでなく、他の物理ブロック（新物理ブロック）にも書き込んでいる場合に、その論理ブロックのアドレスＬＢＡと新物理ブロックのアドレスＰＢＡとを記憶すると共に、その物理ブロックＰＢＡへの書き込み済みページを保持する領域を有している。この書き込み状況管理テーブル１３３は複数の論理ブロックについて新旧の物理ブロックに対応することができるように複数設けておくことが好ましいが、最低限１つであってもよい。【００４１】  ページ情報指示部１２８はページ情報テーブル１４１を有し、メモリセルに保持するデータのページに関するページ情報を記憶するものである。図１４は、ページ情報指示部１２８に含まれるページ情報テーブル１４１のフォーマットを表すアドレスマップである。ページ情報テーブル１４１は１２９ワードからなり、先頭から１２８ワードはページ番号（ＰＮ）０〜１２７に対応している。各ワードにはページ番号関係情報１４１ａとページ種別情報１４１ｂを記憶する。ページ番号関係情報１４１ａは同一グループ内の他のページ番号���記憶する。ページ種別情報１４１ｂは、同一のメモリセルグループにおける第１ページか第２ページなのかを識別するフラグを記憶する。ここで“０”は第１ページ、“１”は第２ページを示す。なお、前述したとおり、第１ページと第２ページは多値メモリセルの同一のメモリセルグループにおける書き込み順序を表している。【００４２】  ページ情報テーブル１４１の最終ワードには、１つのメモリセルによって構成されるページ数、ここでは２が記憶されている。なお、図１４のページ情報テーブル１４１は、図８に示した多値ＮＡＮＤフラッシュメモリのページ構成をテーブル化したものであり、その内容は多値ＮＡＮＤフラッシュメモリの種類によって変わる。【００４３】  なお、ページ情報テーブル１４１はＳＲＡＭなどの揮発性ＲＡＭや、強誘電体メモリ（ＦｅＲＡＭ）などの不揮発性ＲＡＭあるいはＲＯＭで構成される。揮発性ＲＡＭの場合は、電源立ち上げ時の初期化処理においてＣＰＵ１２２が不揮発性メモリ１１０から読み込んだデバイスコードに基づいて、ＣＰＵ１２２がＳＲＡＭなどに構成すればよい。具体的な構成方法のひとつとして、予めＲＯＭ１２４などにデバイス種ごとに当該ページ情報テーブルを記憶しておき、デバイスコードに基づいて選択的にＲＯＭ１２４からＳＲＡＭに転送してもよい。また、図１に示すような、比較的ページ構成が簡単な多値ＮＡＮＤフラッシュメモリであれば、偶数／奇数の関係性（規則性）があるので、ページ情報指示部１２８はページ情報テーブルを有する必要はなく、デバイスコードに基づいてビット演算でページ番号関係情報を算出することができる。具体的には、図１に示すような多値ＮＡＮＤフラッシュメモリであれば、数式（１）に基づいて算出することができる。ここで演算子＾は、排他的論理和をとる演算子である。
ページ番号関係情報＝ページ番号＾０ｘ０１  ・・・（１）【００４４】  物理ユニット書き込み部１２９はページ情報テーブル１４１に基づいて判定されたバウンダリの結果に基づいて、物理ブロックに物理ユニット単位以下の書き込み単位でデータを書き込む際に、そのデータと共に１つの物理ユニットを構成する他の領域のデータをその物理ユニットの書き込んでいない領域にコピーすることにより、物理ユニットの単位でデータを書き込むように制御するものである。【００４５】  以下に、不揮発性記憶装置１００Ａの動作について説明する。
［電源立ち上げ時の初期化処理］
図１５は電源投入後の処理を示すフローチャートである。電源が投入されると、まず、ＣＰＵ１２２をリセットし、ＲＯＭ１２４に記憶されたプログラムに基づいて初期化処理を行う（Ｓ１０１）。かかる初期化処理においては、まず、ＲＡＭ１２３やバッファメモリ１２５をオールクリアする。読み書き制御部１２７を介して、不揮発性メモリ１１０内のシステム領域からデバイスコードを読み出し、当該デバイスコードに基づいて不揮発性メモリ１１０の種類や容量を特定する（Ｓ１０２）。【００４６】  次いで不揮発性メモリ１１０から読み出したデバイスコ−ドに基づいて、ページ情報指示部１２８内にページ情報テーブル１４１を構成する（Ｓ１０３）。あるいはページ情報指示部１２８が当該デバイスコ−ドに基づいた演算機能（数式１に対応）によりページ構成情報を把握してもよい。【００４７】  次に読み書き制御部１２７を介して、不揮発性メモリ１１０の全ての物理ブロックの先頭ページの管理領域を読み出す（Ｓ１０４）。その後、アドレス管理部１２６内に、物理領域管理テーブル１３１、論理物理変換テーブル１３２及び書き込み状況管理テーブル１３３を作成する（Ｓ１０５）。【００４８】  その後、ＣＰＵ１２２はＳ１０２で読み出したデバイスコードを基にして、不揮発性メモリ１１０のバウンダリを決定する（Ｓ１０６）。例えば図１に示す多値ＮＡＮＤフラッシュメモリでは、ページＰＮ０とページＰＮ１の４ｋＢの領域が一つのメモリセルグループとして構成されている。この様に一つのメモリセルグループで構成される複数のページをページグループと定義する。従ってページＰＮ０とＰＮ１とで一つのページグループを構成する。また、物理ブロック内で、書き込み順に連続した領域に形成される少なくとも１つのページグループ単位からなり、かつページグループは複数の領域にまたがらずに完結する領域を１つの物理ユニットとする。以下同様にしてページＰＮ２，３の４ｋＢで１つのページグループから連続した領域が完結するので、１つの物理ユニットを構成し、その境界がバウンダリとなる。又図２に示す多値ＮＡＮＤフラッシュメモリでは、ページＰＮ０〜ＰＮ３までの８ｋＢの連続した領域で２つのページグループが完結するので、２つのページグループが１つの物理ユニットを構成する。以下同様にして、８ｋＢが２つのページグループが完結するので、これらが１つの物理ユニットを構成し、その境界が１つのバウンダリとなる。このように物理ユニットは連続する２ｎ（ｎは自然数）のページによって構成される。この情報はページ情報指示部１２８によって保持される。こうしてバウンダリを決定した後、アクセス装置１００からのコマンドの受付を許可し（Ｓ１０７）、通常動作（Ｓ１０８）に移行する。【００４９】［通常動作時の処理］
次に、初期化後の通常動作時の処理について図１６のフローチャートを用いて説明する。なお本発明は、書き込み処理における問題点である、同一メモリセルを構成する他のページへの影響を回避するために、アクセス装置１０１からの書き込みコマンドに対して必ず未書き込みの物理ユニットに対して書き込みを行うよう改善するものであるので、ここでも書き込み処理についてのみ説明する。【００５０】  まずアクセス装置１０１が例えば論理アドレスＬＡ０〜ＬＡ３の２ｋバイトの書き込みコマンドを不揮発性記憶装置１００Ａに転送する。ホストＩＦ１２１は書き込みコマンドを受信すると、ＣＰＵ１２２に受信したことを通知し、ＣＰＵ１２２はアクセス装置１０１が書き込みを開始する先頭の論理アドレスの情報を保持する（ステップＳ２０１，Ｓ２０２）。【００５１】  次にＣＰＵ１２２はアドレス管理部１２６に対してひとつの書き込み先の物理ブロックの取得を指示する（Ｓ２０３）。アドレス管理部１２６は書き込み状況管理テーブル１３３を参照し、その論理アドレスに対応する登録を検索する。論理アドレスに対応する登録がなければ、ランダムに選択された番地から昇順に無効の物理ブロックをサーチし、最初に見つかった無効の物理ブロックを書き込み対象の物理ブロックとする。この場合書き込み対象のページは先頭ページであるＰＮ０となる。書き込み状況管理テーブル１３３に登録がある場合には、登録された物理ブロック（ＰＢＡ）を書き込み対象の物理ブロックとする。この場合書き込み対象のページは書き込み状況管理テーブル１３３にされた書き込み済ページの次のページとなる。【００５２】  次にＣＰＵ１２２はアクセス装置１０１が書き込みを開始するアドレスがバウンダリの先頭に相当するかどうかを確認し（Ｓ２０４）、バウンダリの先頭からの書き込みであれば、未書き込みの物理ユニットの先頭から書き込むことが可能なのでステップ２０５に進んで、アクセス装置１０１から転送される論理アドレスＬＡ０〜ＬＡ３のデータを、バッファメモリ１２５を介して順次書き込む。【００５３】  次にＣＰＵ１２２はステップＳ２０６でバウンダリの終了まで書き込みが行われたかどうかを確認する。このバウンダリの終了まで書き込みが行われた場合には、ステップＳ２０７に進んで物理領域管理テーブル１３１や論理物理変換テーブル１３２、書き込み状況管理テーブル１３３の必要な更新を行い、ホストのアクセス装置１０１に書き込み終了を応答して（Ｓ２０８）、処理を終える。ホストのアクセス装置１０１は不揮発性記憶装置１００Ａ書き込み終了応答を受けて、かかる書き込みコマンドによるデータの書き込みが正しく終了し、データが正しく書き込まれていると認識する。【００５４】  さてステップＳ２０４においてバウンダリの先頭からの書き込みではない場合には、ステップＳ２０９において、旧物理ブロックの対応するページのアドレスを物理領域管理テーブル１３１に基づいて取得して、旧物理ブロックより対応データを読み出す（Ｓ２０９）そしてステップＳ２１０でアクセス装置１０１が書き込みを開始するアドレスの直前までを未書き込みの物理ユニットの先頭から順にコピー（前半巻き込み処理）する。そしてステップＳ２０５に戻る。��００５５】  またステップＳ２０６においてバウンダリの終了までの書き込みでなければ、ステップＳ２１１において、旧物理ブロックの対応するページのアドレスを物理領域管理テーブル１３１に基づいて取得して、旧物理ブロックより対応データを読み出す（Ｓ２１１）。そしてステップＳ２１２に進んでバウンダリの終了までそのデータをコピー（後半巻き込み処理）する。そしてステップＳ２０７に戻る。このようにしてアクセス装置１０１からの１回の書き込みのコマンドに対応して、常にバウンダリの先頭からバウンダリの終了までの書き込みを行う。【００５６】  次に具体的な書き込み例を用いて、バウンダリまでの書き込み処理について説明する。図１７の物理ブロックＰＢ８は、例えば図示のように全てのページにデータが書き込まれている物理ブロックとする。物理ブロックＰＢ８内の数値はセクタ番号ＰＳＢ０〜ＰＳＢ５１１の番号のみを示している。またここでは図１に示す多値ＮＡＮＤフラッシュメモリを想定しているので、物理ユニットは、偶数・奇数の連続する２つのページからなる。さてこれと同一の論理ブロックアドレスのセクタ０〜３に新しいデータを書き込む場合について説明する。この場合には新たな物理ブロック、例えばＰＢ１１を書き込み対象物理ブロックとして選択する。これによって物理ブロックＰＢ１１が新物理ブロックとなり、これと同一の論理アドレスのデータが書き込まれた物理ブロックＰＢ８が旧物理ブロックとなる。旧物理ブロックは論理物理変換テーブル１３２によって論理ブロックと関連付けられている。新物理ブロックは書き込み状況管理テーブル１３３より管理する。さて物理ブロックＰＢ１１のページＰＮ０にセクタ０〜３までのデータを書き込む。次いで物理ブロックＰＢ１１のページＰＮ０と共に物理ユニットを構成するページＰＮ１にもデータを書き込む必要がある。そこで前述したように、旧物理ブロックであるＰＢ８のページＰＮ１に保持されている図中破線で示すセクタ４〜７のデータを、ＰＢ１１のページＰＮ１にコピー（巻き込み処理）する。これによってバウンダリの境界まで、即ち物理ユニット単位での書き込みを行うことができる。【００５７】  続けて同じ論理ブロックのセクタ１２，１３にデータを書き込む場合について、図１８を用いて説明する。セクタ１２、１３はバウンダリの先頭ではないので、まずバウンダリの先頭であるセクタ８からセクタ１１まで（書き込みを開始するセクタ１２の直前）のデータを旧物理ブロックＰＢ８から物理ブロックＰＢ１１にコピーして書き込む。次に物理ブロックＰＢ１１にアクセス装置１０１からの書き込みデータであるセクタ１２，１３を追記して書き込む。そして旧物理ブロックＰＢ８の物理セクタアドレス１４，１５をコピーして書き込む。こうして物理ユニットのバウンダリの先頭からバウンダリの終了までの書き込みを終える。以下同様にしてバウンダリ以内での書き込みであってもバウンダリ単位で書き込む。【００５８】  以上、説明したように、本発明の実施の形態は、物理ユニットの単位で、即ち常にバウンダリの境界までデータを書き込むようにしたので、各メモリセルが２ページに跨ってデータを保持する不揮発性メモリ１１０の特有のエラー、すなわち第２ページの書き込みエラーによって第１ページに記憶されていたデータが変化してしまうエラーはホストであるアクセス装置１０１の複数回のコマンドにまたがって発生することはない。必ずアクセス装置１０１の１回のコマンドの処理において物理ユニット単位で完結しており、これを閉じているともいう。従ってアクセス装置１０１が正常に書き込めたと認識しているデータが、実際には破壊されているといった信頼性上の不具合を解消することができる。【００５９】  ここで不揮発性メモリ１１０は図１や図２のように物理ブロックが構成されている場合に限らず、複数のページ内で閉じており、データの書き込みエラーが他のページに波及しない単位を物理ユニットとし、その境界をバウンダリとすることができる。【００６０】  また不揮発性メモリ１１０は、各メモリセルが２ページに跨ってデータを保持するタイプのメモリであったが、３ページに跨ってデータを保持するタイプのメモリであっても、本発明を適用することができる。【００６１】  （第２の実施の形態）
次に本発明の第２の実施の形態について説明する。第２の実施の形態による不揮発性記憶システムの構成を示すブロックの構成は図１と同じであり、ブロックの構成についての説明は省略する。【００６２】  図１，図２に示すように２ページ又は４ページで閉じており、ページグループが完結する多値型の不揮発性メモリの他に、図３に示すような多値型不揮発性メモリも存在する。図３に示すこの不揮発性メモリでは、特定の単位では第１の実施の形態における考え方である物理ユニットは閉じておらず、第１の実施の形態の不揮発性記憶システムを適用できない。このような場合にも書き込みによるデータの破壊を防ぐために、第２の実施の形態では物理ユニットの概念を拡張したものである。【００６３】  次に第２の実施の形態における書き込み処理について、図１９の書き込みフローチャートを用いて説明する。まずアクセス装置１０１が書き込みコマンドを不揮発性記憶装置１００Ａに発行する。ホストＩＦ１２１は書き込みコマンドを受信すると、ＣＰＵ１２２に受信したことを通知しＣＰＵ１２２はアクセス装置１０１が書き込みを開始する先頭の論理アドレスの情報を保持する（ステップＳ３０１，Ｓ３０２）。【００６４】  次にＣＰＵ１２２はアドレス管理部１２６に対してひとつの書き込み先の物理ブロックの取得を指示する（Ｓ３０３）。アドレス管理部１２６は書き込み状況管理テーブル１３３を参照し、その論理アドレスに対応する登録を検索する。論理アドレスに対応する登録がなければ、ランダムに選択された番地から昇順に無効の物理ブロックをサーチし、最初に見つかった無効の物理ブロックを書き込み対象の物理ブロックとする。この場合書き込み対象のページは先頭ページであるＰＮ０となる。書き込み状況管理テーブル１３３に登録がある場合には、登録された物理ブロック（ＰＢＡ）を書き込み対象の物理ブロックとする。この場合書き込み対象のページは、書き込み状況管理テーブル１３３に記録された書き込み済ページ以降のページでかつ最初のページグループの第１ページとなる。第１ページか第２ページかを判定するために、ページ情報指示部１２８のページ種別情報１４１ｂを使用する。【００６５】  次にＣＰＵ１２２はアクセス装置１０１が書き込みを開始するアドレスから順に１ページのデータを書き込む（Ｓ３０４）。その後Ｓ３０５において、ＣＰＵ１２２は書き込みを行ったページと同じページグループの第２ページの位置をページ情報指示部１２８のページ番号関係情報１４１ａから得て書き込み許可状態として保持する。ここで保持した第２ページのアドレスは、アクセス装置１０１の１回の書き込みコマンド期間中において書き込みが行われるまで有効に保持されるが、アクセス装置１０１の１回の書き込みコマンドを終了した際には放棄する。従ってＳ３０４で書き込みを行うページは、各々のページグループの第１ページか、または次のステップ３０５で保持されるページグループの第２ページのみである。即ちステップＳ３０５で保持されていないページグループの第２ページには書き込みは行わない。【００６６】  次にステップＳ３０６でアクセス装置１０１の書き込みが終了したかどうかを判定し、終了していなければＳ３０４に戻って処��を継続し、終了していれば次のステップであるＳ３０７に進んで物理領域管理テーブル１３１や論理物理変換テーブル１３２、書き込み状況管理テーブル１３３の必要な更新を行い、ホストのアクセス装置１０１に書き込み終了を応答して（Ｓ３０８）、処理を終える。ホストのアクセス装置１０１は不揮発性記憶装置１００Ａの書き込み終了応答を受けて、かかる書き込みコマンドによるデータの書き込みが正しく終了し、データが正しく書き込まれていると認識する。【００６７】  このように、ステップＳ３０４において書き込まれるページは各々のページグループの第１ページか、もしくはアクセス装置１０１の同じ１回の書き込みコマンドの処理中においてページグループの第１のページが書き込まれている第２ページのいずれかに限られる。従って、前の書き込みコマンドで書き込みが行われている第１ページと同じページグループをなす第２ページに書き込みを行うことはない。【００６８】  図２０は図３に示した多値ＮＡＮＤフラッシュメモリ１１０をページグループ毎に示した図である。左側にページグループのグループナンバーＧＮを、その行に対応する枠内の左側には第１ページのページ番号ＰＮを、そして枠内の右側には対応する第２ページのページ番号を表している。最初の行にＧＮが０で枠内に０と２が示してあるのはページＰＮ０とページＰＮ２とでひとつのページグループを構成しており、そのグループナンバーをＧＮ０としていることを表している。本図に示すようなグループが構成されている不揮発性メモリに対して書き込みコマンドに応じてどのように書き込むかについて以下に示す。【００６９】  （１）例えばアクセス装置１０１からの１回の書き込みコマンドで４セクタ（１ページ）分のデータを書き込む際には、図２１Ａに示すようにハッチングで示す先頭のページであるページＰＮ０にのみデータを書き込む。同じページグループを構成するページであるＰＮ２には、今回のアクセス装置１０１からの書き込みコマンドでも、また以降のアクセス装置１０１からの書き込みコマンドでもページであるＰＮ２への書き込みは行わない。この場合には、次にデータを書き込むときにはページＰＮ０以降で最初に第１ページに相当するページＰＮ１から、即ちＧＮ１からデータを書き込む。この場合には最初の書き込みにおける拡張物理ユニットは１つのページグループＧＮ０からなる単位となる。【００７０】  （２）又アクセス装置１０１からの１回の書き込みコマンドで１２セクタ（３ページ分）のデータを書き込む際には、同様の書き込みルールに従って書き込むことでページＰＮ０からＰＮ２までページ番号の順に図２１Ｂに示すようにハッチングの領域にデータを書き込む。この場合には２つのページグループ、即ちＧＮ０，ＧＮ１に書き込む。次にデータを書き込む際にはページＰＮ２以降で最初に第１ページに相当するページＰＮ３が含まれるＧＮ２からデータを書き始め、ＧＮ１のＰＮ４については以後の書き込み処理を行わない。この場合には拡張物理ユニットは２つのページグループＧＮ０，ＧＮ１からなる単位となる。【００７１】  （３）次にアクセス装置１０１からの１回の書き込みコマンドで１６セクタ（４ページ分）のデータを書き込む際には、図２１���にハッチングで示すように、ページ番号ＧＮ０，ＧＮ１，ＧＮ２のページＰＮ０〜ＰＮ３にデータを書き込む。次にデータを書き込む際にはページＰＮ３以降で最初に第１ページに相当するページであるＧＮ３のページＰＮ５からＰＮ７，ＰＮ８・・・のように書き込む。この場合にはページグループＧＮ１，ＧＮ２の第１ページであるページＰＮ１，ＰＮ３への書き込みは行わないので、ページＰＮ４，ＰＮ６は使用しない。又この場合には拡張物理ユニットはＧＮ０，ＧＮ１，ＧＮ２の３つのページグループによって構成される。【００７２】  このようにアクセス装置１０１からの１回の書き込みのページ数に応じて拡張物理ユニットを適宜変更し、そのコマンドで構成される拡張物理ユニットには１回の書き込み処理のみを行い、余ったページについては以後書き込み処理を行わない。本発明の実施の形態は、データの書き込みを行った領域のページグループを必ず全て含む領域を拡張物理ユニットとした。そのため特定のページグループ単位で閉じた領域を構成できないような場合においても、多値ＮＡＮＤ型不揮発性メモリ１１０の特有のエラー、すなわち第２ページの書き込みエラーによって第１ページに記憶されていたデータが変化してしまうエラーはホストであるアクセス装置１０１の複数回のコマンドにまたがって発生することはない。従ってアクセス装置１０１が正常に書き込みできたと認識しているデータが、実際には破壊されているといった信頼性上の不具合を解消することができる。【００７３】  次に本発明の変形例について説明する。不揮発性メモリは複数、例えば２つのメモリチップを並列に使用し、２つのメモリチップに同時にデータを書き込み及び読み出すことによって、高速で処理を行えるようにしたものもある。図２２はこのような不揮発性メモリの構成を示しており、ＰＢ１０は第１のメモリセルの物理ブロックの１つ、ＰＢ４１０５は第２のメモリセルの物理ブロックの１つである。これらの物理ブロックの対応するページに並列にデータを書き込み又は読み出すものとする。この場合にもＰＢ１０のＰＮ０，ＰＮ４によって１つのページグループが形成されている。以下同様である。この場合には例えばＰＮ０〜７に書き込む際には図２２にハッチングで示す単位でデータを書き込む。この場合、拡張物理ユニットＸＰＵはページＰＮ０〜ＰＮ１３までのものとなる。そして物理ブロックＰＢ１０のＰＮ８，ＰＮ１２、物理ブロックＰＢ４１０５のＰＮ９，ＰＮ１３にはデータを書き込むことなく、次の書き込み時には新たな拡張物理ユニット単位で書き込みを行う。この場合にも他のページへのエラーの波及はアクセス装置１０１の１回の書き込みコマンドで閉じた範囲でのみ発生している。従って、アクセス装置１０１が正常に書き込みできたと認識しているデータが、実際には破壊されているといった信頼性上の不具合を防止することができる。
【産業上の利用可能性】
【００７４】  本発明にかかるメモリコントローラ、不揮発性記憶装置、不揮発性記憶システムは、多値ＮＡＮＤフラッシュメモリのように、各メモリセルが複数のページに跨ってデータを保持する不揮発性メモリを使用した装置において、信頼性を向上させることができる。本発明は、静止画記録再生装置や動画記録再生装置等のポータブルＡＶ機器、あるいは携帯電話等のポータブル通信機器の記録媒体に適用することができる。
【図１】
2007000862.tif 000002
【図２】
2007000862.tif 000003
【図３】
2007000862.tif 000004
【図４】
2007000862.tif 000005
【図５】
2007000862.tif 000006
【図６】
2007000862.tif 000007
【図７】
2007000862.tif 000008
【図８】
2007000862.tif 000009
【図９】
2007000862.tif 000010
【図１０】
2007000862.tif 000011
【図１１】
2007000862.tif 000012
【図１２】
2007000862.tif 000013
【図１３】
2007000862.tif 000014
【図１４】
2007000862.tif 000015
【図１５】
2007000862.tif 000016
【図１６】
2007000862.tif 000017
【図１７】
2007000862.tif 000018
【図１８】
2007000862.tif 000019
【図１９】
2007000862.tif 000020
【図２０】
2007000862.tif 000021
【図２１Ａ】
2007000862.tif 000022
【図２１Ｂ】
2007000862.tif 000023
【図２１Ｃ】
2007000862.tif 000024
【図２２】
2007000862.tif 000025
【手続補正書】
【提出日】平成19年4月4日(2007.4.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
外部から与えられる書き込みコマンドに基づいて、メモリにデータの書き込みを行うメモリコントローラであって、
前記メモリは、複数のページから構成され、前記ページは、前記メモリにおける書き込み単位であり、
一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、複数のページからなるページグループの少なくともひとつから物理ユニットを構成し、
前記コントローラは、
データの書き込み順番の優先順位を示すページ情報を有するページ情報指示部と、
前記外部からの書き込みコマンド及び前記ページ情報に基づき、未書き込みの前記物理ユニットの優先順位の高いページからの順にデータの書き込みを実行する物理ユニット書き込み部とを備えるメモリコントローラ。
【請求項２】
前記メモリは、多値メモリセルである請求項１記載のメモリコントローラ。
【請求項３】
前記メモリは、不揮発性のメモリである請求項１記載のメモリコントローラ。
【請求項４】
前記物理ユニットは、連続する２ｎ（ｎ＝１，２・・・）ページによって構成される請求項１記載のメモリコントローラ。
【請求項５】
前記物理ユニット書き込み部は、前記物理ユニット単位以下の第１のデータを書き込む際に、書き込み済の物理ユニットから第２のデータを前記第１のデータを書き込む物理ユニットへコピーする請求項１記載のメモリコントローラ。
【請求項６】
前記ページ情報指示部は、同一物理ユニットを構成するページを識別する情報をさらに保持する請求項１記載のメモリコントローラ。
【請求項７】
前記物理ユニットには、前記外部からデータの書き込みが行われない領域が存在する請求項１記載のメモリコントローラ。
【請求項８】
前記書き込みが行われない領域は、前記ページグループの一部の領域である請求項７記載のメモリコントローラ。
【請求項９】
前記物理ユニットは、不連続な複数のページから構成される請求項１記載のメモリコントローラ。
【請求項１０】
前記物理ユニット書き込み部は、前記物理ユニットのサイズを書き込みデータ容量に応じて決定する請求項１記載のメモリコントローラ。
【請求項１１】
複数のページで構成される不揮発性メモリと、
外部から与えられる書き込みコマンドに基づいて、前記不揮発性メモリにデータの書き込みを行うメモリコントローラと、を有する不揮発性記憶装置であって、前記ページは、前記メモリにおける書き込み単位であり、
一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、複数２のページからなるページグループの少なくともひとつから物理ユニットを構成し、
前記メモリコントローラは、
データの書き込み順番の優先順位を示すページ情報を有するページ情報指示部と、
前記外部からの書き込みコマンド及び前記ページ情報に基づき、未書き込みの前記物理ユニットの優先順位の高いページから順にデータの書き込みを実行する物理ユニット書き込み部とを備える不揮発性記憶装置。
【請求項１２】
前記不揮発性メモリは、多値メモリセルである請求項１１記載の不揮発性記憶装置。
【請求項１３】
前記物理ユニットは、連続する２ｎ（ｎ＝１，２・・・）ページによって構成される請求項１１記載の不揮発性記憶装置。
【請求項１４】
前記物理ユニット書き込み部は、前記物理ユニット単位以下の第１のデータを書き込む際に、書き込み済の物理ユニットから第２のデータを前記第１のデータを書き込む物理ユニットへコピーする請求項１１記載の不揮発性記憶装置。
【請求項１５】
前記ページ情報指示部は、同一物理ユニットを構成するページを識別する情報をさらに保持する請求項１１記載の不揮発性記憶装置。
【請求項１６】
前記物理ユニットには、外部からデータの書き込みが行われない領域が存在する請求項１１記載の不揮発性記憶装置。
【請求項１７】
前記書き込みが行われない領域は、前記ページグループの一部の領域である請求項１６記載の不揮発性記憶装置。
【請求項１８】
前記物理ユニットは、不連続な複数のページから構成される請求項１１記載の不揮発性記憶装置。
【請求項１９】
前記物理ユニット書き込み部は、前記物理ユニットのサイズを書き込みデータ容量に応じて決定する請求項１１記載の不揮発性記憶装置。
【請求項２０】
アクセス装置と不揮発性記憶装置を具備する不揮発性記憶システムであって、
前記アクセス装置は、
前記不揮発性記憶装置に少なくとも書き込みコマンドとデータを送出するものであり、
前記不揮発性記憶装置は、
複数のページで構成される不揮発性メモリと、
外部から与えられる書き込みコマンドに基づいて、前記不揮発性メモリに対してデータの書き込みを行うメモリコントローラと、を有するものであり、前記ページは、前記メモリにおける書き込み単位であり、
一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、複数のページからなるページグループの少なくともひとつから物理ユニットを構成し、
前記メモリコントローラは、データの書き込み順番の優先順位を示すページ情報を有するページ情報指示部と、
前記外部からの書き込みコマンド及び前記ページ情報に基づき、未書き込みの前記物理ユニットの優先順位の高いページから順にデータの書き込みを実行する物理ユニット書き込み部とを備える不揮発性記憶システム。
【請求項２１】
前記不揮発性メモリは、多値メモリセルである請求項２０記載の不揮発性記憶システム。
【請求項２２】
前記物理ユニットは、連続する２ｎ（ｎ＝１，２・・・）ページによって構成される請求項２０記載の不揮発性記憶システム。
【請求項２３】
前記物理ユニット書き込み部は、前記物理ユニット単位以下の第１のデータを書き込む際に、書き込み済の物理ユニットから第２のデータをコピーする請求項２０記載の不揮発性記憶システム。
【請求項２４】
前記ページ情報指示部は、同一物理ユニットを構成するページを識別する情報をさらに保持するする請求項２０記載の不揮発性記憶システム。
【請求項２５】
前記物理ユニットには、前記外部からデータの書き込みが行われない領域が存在する請求項２０記載の不揮発性記憶システム。
【請求項２６】
前記書き込みが行われない領域は、前記ページグループの一部の領域である請求項２５記載の不揮発性記憶システム。
【請求項２７】
前記物理ユニットは、不連続な複数のページから構成される請求項２０記載の不揮発性記憶システム。
【請求項２８】
前記物理ユニット書き込み部は、前記物理ユニットのサイズを書き込みデータ容量に応じて決定する請求項２０記載の不揮発性記憶システム。
【請求項２９】
外部から与えられる書き込みのコマンドに基づいて、メモリにデータの書き込みを行うデータ書き込み方法であって、
前記メモリは、複数のページで構成され、
前記ページは、前記メモリにおける書き込み単位であり、
一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、複数２のページからなるページグループの少なくともひとつから物理ユニットを構成し、
前記外部からの書き込みコマンドとデータ書き込みの優先順位を示すページ情報に基づき、の優先順位の高いページから順に書き込みを実行する未書き込みの前記物理ユニットの優先順位の高いページからデータの書き込みを実行するデータ書き込み方法。
【請求項３０】
前記メモリは、多値メモリセルである請求項２９記載のデータ書き込み方法。
【請求項３１】
前記メモリは、不揮発性のメモリである請求項２９記載のデータ書き込み方法。
【請求項３２】
前記物理ユニットは、連続する２ｎ（ｎ＝１，２・・・）ページで構成される請求項２９記載のデータ書き込み方法。
【請求項３３】
前記物理ユニット単位以下の第１のデータを書き込む際に、書き込み済の物理ユニットから第２のデータを前記第１のデータを書き込む物理ユニットへコピーする請求項２９記載のデータ書き込み方法。
【請求項３４】
前記物理ユニットがどの前記複数のページから構成されるかの情報を保持する請求項３１記載のデータ書き込み方法。
【請求項３５】
前記物理ユニットには、前記外部からの書き込みデータの書き込みが行われない領域が存在する請求項２９記載のデータ書き込み方法。
【請求項３６】
前記書き込みが行われない領域は、前記ページグループの一部の領域である請求項３５記載のデータ書き込み方法。
【請求項３７】
前記物理ユニットは、不連続な複数のページから構成される請求項２９記載のデータ書き込み方法。
【請求項３８】
前記物理ユニットのサイズを書き込みデータ容量に応じて決定する請求項２９記載のデータ書き込み方法。
【国際調査報告】
2007000862.tif 000026
2007000862.tif 000027
2007000862.tif 000028