(57)【要約】【課題】ディスクイメージコピーを行った場合においても、従来よりも長寿命かつ処理速度の速い不揮発性記憶装置、不揮発性記憶システムを提供すること。【解決手段】ディスクイメージコピーにおいて、アクセス装置から転送された転送データが消去済みデータか否かを論理ブロック単位（ＬＢＮ毎）に判定し、消去済みデータと判定した場合は、その物理ブロックのブロックステータスを無効ブロック（値１）に設定し、空き領域として管理する。その結果、ディスクイメージコピー後に、特定のＬＢＮ（例えばＬＢＮ０）の書き換え処理が頻繁に発生した場合においても、空きブロックを書き換え用の代替ブロックとして使用できるので、従来のようにスペアブロックのみを書き換え用の代替ブロックとして使用した場合と比較すると、書き換え回数の平準化がなされ、結果として不揮発性記憶装置の長寿命化を実現することができる。【選択図】図１
2009134514.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリに接続され、外部から指定された論理アドレスに従い前記不揮発性メモリにデータを書き込み、前記不揮発性メモリからデータを読み出すメモリコントローラであって、
外部からの書き込み指示に伴って転送された転送データが消去済みを示すデータかどうかを判定するデータ判定部と、
前記論理アドレスを前記不揮発性メモリにおけるデータ等の記憶位置である物理アドレスに変換すると共に、前記物理アドレスの記憶領域のステータスの情報を保持し、前記データ判定部が消去済みデータと判定した前記転送データの論理アドレスに対応する物理アドレスを空き領域とするアドレス管理部と、を具備するメモリコントローラ。
【請求項２】
前記メモリコントローラは、前記データ判定部が消去済みデータと判定した前記転送データの論理アドレスへの読み出し指示が外部からなされた場合に、消去済みデータを表すコードを外部に転送する仮想出力部をさらに備えた請求項１に記載のメモリコントローラ。
【請求項３】
前記メモリコントローラは、前記データ判定部が消去済みデータと判定した前記転送データの、前記不揮発性メモリへの書き込みを禁止する請求項１に記載のメモリコントローラ。
【請求項４】
外部から指定された論理アドレスに従いデータの読み出し、書き込みを行う不揮発性記憶装置であって、
前記不揮発性記憶装置は、
不揮発性メモリと、
請求項１〜３のいずれかに記載のメモリコントローラと、を有する不揮発性記憶装置。
【請求項５】
アクセス装置と、前記アクセス装置から指定された論理アドレスに従いデータの読み出し、書き込みを行う不揮発性記憶装置と、を有した不揮発性記憶システムであって、
前記不揮発性記憶装置は、
不揮発性メモリと、
前記不揮発性メモリに接続され、前記アクセス装置から指定された論理アドレスに従い前記不揮発性メモリにデータを書き込み、前記不揮発性メモリからデータを読み出すメモリコントローラと、を具備し、
前記メモリコントローラは、
前記アクセス装置からの書き込み指示に伴って転送された転送データが消去済みを示すデータかどうかを判定するデータ判定部と、
前記論理アドレスを前記不揮発性メモリにおけるデータ等の記憶位置である物理アドレスに変換すると共に前記物理アドレスの記憶領域のステータスの情報を保持し、前記データ判定部が消去済みデータと判定した前記転送データの論理アドレスに対応する物理アドレスを空き領域とするアドレス管理部と、を有する不揮発性記憶システム。
【請求項６】
前記メモリコントローラは、前記データ判定部が消去済みデータと判定した前記転送データの論理アドレスへの読み出し指示が外部からなされた場合に、消去済みデータを表すコードを外部に転送する仮想出力部をさらに備えた請求項５に記載の不揮発性記憶システム。
【請求項７】
前記メモリコントローラは、前記データ判定部が消去済みデータと判定した前記転送データの、前記不揮発性メモリへの書き込みを禁止する請求項５に記載の不揮発性記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリを備えたメモリカード等の不揮発性記憶装置、前記不揮発性メモリを制御するメモリコントローラ、及び前記不揮発性記憶装置にアクセス装置を構成要件として加えた不揮発性記憶システムに関する。
【背景技術】
【０００２】
書き換え可能な不揮発性メモリを備える不揮発性記憶装置は、メモリカードを中心にその需要が広まっている。メモリカードは、光ディスクやテープメディアなどと比較して非常に高価格なものではあるが、小型・軽量・耐震性・取り扱いの簡便さ等のメリットにより、デジタルスチルカメラや携帯電話などのポータブル機器の記録媒体としてその需要が広まっている。このメモリカードは、不揮発性の主記憶メモリとしてフラッシュメモリを備え、それを制御するメモリコントローラを有している。メモリコントローラは、デジタルスチルカメラやパーソナルコンピュータ本体等のアクセス装置からの読み書き指示に応じて、フラッシュメモリに対する読み書き制御を行うものとなっている。またポータブルオーディオにおいては、メモリカードに対応したものだけでなく、ポータブルオーディオ本体内にフラッシュメモリを実装したものもある。また、近年では前述した民生用途だけでなく、例えば放送局向けのプロ用動画記録機器にもメモリカードが使用されている。
【０００３】
メモリカードやポータブルオーディオなどの製品に内蔵されたフラッシュメモリは、記憶単位であるメモリセルアレイへの書き込みや消去に比較的長い時間を必要とするため、複数のメモリセルを一括して消去したり書き込んだりできる構造となっている。具体的には、複数の物理ブロックから構成され、各物理ブロックは複数のページを含み、消去は物理ブロック単位で、書き込みはページ単位で行われる。
【０００４】
近年フラッシュメモリは、大容量化と低コスト化への要望に対応して、多値ＮＡＮＤフ
ラッシュメモリのように1つのメモリセルに２ビット又はそれ以上の情報が記憶できる品種が主流となってきている。このような多値ＮＡＮＤフラッシュメモリは、メモリセルの信頼性確保が難しいため、書き換え保証回数が低い。従来の２値ＮＡＮＤフラッシュメモリは、書き換え保証回数が例えば１０万回であったのに対して、前述した多値ＮＡＮＤフラッシュメモリは、書き換え保証回数が例えば１万回と約１０分の１まで低下している。更に、１万回の書き換え回数を保証できるフラッシュメモリを製造すること自体も難しくなっている。
【０００５】
フラッシュメモリの書き換え保証回数は、メモリカードの寿命、及びポータブルオーディオなどの機器自体の寿命に直結している。従来、この寿命をできるだけのばすために、特許文献１や特許文献２では、特定の物理ブロックに書き換えが集中しないウェアレベリングといったアドレス管理方法が適用されている。例えば、特許文献２によれば、ある論理アドレスのデータ書き換えにおいては、未使用ブロックに対して新たにデータを書き込み、書き換え前の旧データが記憶されていた物理ブロックを未使用ブロックとすることによって、ある論理アドレスに対応するデータが特定の物理ブロックに固定的にアロケートされない工夫がなされている。
【０００６】
さてメモリカードによっては出荷前に、ディスクイメージコピーによってプログラムデータ等を記憶したメモリカード（マスターメモリカード）の複製を作成する場合がある。ここで、ディスクイメージコピーとは、マスターメモリカードに記録されているＦＡＴ等のファイルシステムを解釈することなしに、即ち、どの論理アドレスに前記プログラムデータ等の有効な情報が記録されているかを認識することなしに、マスターメモリカードの論理アドレス空間の全領域を丸ごと複製先メモリカードにコピーすることを言う。
【０００７】
一方、ファイルコピー、即ちマスターメモリカードに記憶されたＦＡＴなどのファイルシステムを解釈し、前記プログラムデータ等をファイルとして認識した上で、複製メモリカードを作成することは可能であるが、フォーマット処理やファイルが正しく書き込まれたかどうかのファイルチェックが必要となるため、通常、ファイルコピーよりもディスクイメージコピーの方が少ない工数で複製を作成することが可能である。
【０００８】
しかしながらディスクイメージコピーを実行すると、マスターメモリカード内の消去済みデータまでも複製先メモリカードに書き込まれ、複製先メモリカードにおいて、前記消去済みデータが記憶される領域も有効領域として管理され、有効領域ではない空き領域のサイズが少ししか残らない。このような場合、複製先メモリカードを出荷した後に、データの書き換えを行った場合、少ない空き領域を使用した書き換え、即ち代替処理がなされるため、特定の物理ブロックに書き換えが集中してしまうこととなる。
【０００９】
そこで、例えば特許文献３に示したスワッピング技術を用いて特定の物理ブロックでの書き換え集中を回避することが考えられる。
【特許文献１】特開平２−３１０８９６号公報
【特許文献２】特開２００３−２６３８９４号公報
【特許文献３】特許第３１７８９０９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながらスワッピングにより書き換えの集中を回避した場合には、スワッピング処理自体での書き換えダメージや、スワッピング処理による書き換え速度が低下するといった問題が生じる。
【００１１】
そこで、本発明は上記問題点に鑑み、前述したディスクイメージコピーを行った場合においても、従来よりも長寿命かつ処理速度の速い不揮発性記憶装置、不揮発性記憶システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
この課題を解決するために、本発明のメモリコントローラは、不揮発性メモリに接続され、外部から指定された論理アドレスに従い前記不揮発性メモリにデータを書き込み、前記不揮発性メモリからデータを読み出すメモリコントローラであって、外部からの書き込み指示に伴って転送された転送データが消去済みを示すデータかどうかを判定するデータ判定部と、前記論理アドレスを前記不揮発性メモリにおけるデータ等の記憶位置である物理アドレスに変換すると共に、前記物理アドレスの記憶領域のステータスの情報を保持し、前記データ判定部が消去済みデータと判定した前記転送データの論理アドレスに対応する物理アドレスを空き領域とするアドレス管理部と、を具備するものである。
【００１３】
ここで前記メモリコントローラは、前記データ判定部が消去済みデータと判定した前記転送データの論理アドレスへの読み出し指示が外部からなされた場合に、消去済みデータを表すコードを外部に転送する仮想出力部をさらに備えるようにしてもよい。
【００１４】
ここで前記メモリコントローラは、前記データ判定部が消去済みデータと判定した前記転送データの、前記不揮発性メモリへの書き込みを禁止するようにしてもよい。
【００１５】
この課題を解決するために、本発明の不揮発性記憶装置は、外部から指定された論理アドレスに従いデータの読み出し、書き込みを行う不揮発性記憶装置であって、前記不揮発性記憶装置は、不揮発性メモリと、請求項１〜３のいずれかに記載のメモリコントローラと、を有するものである。
【００１６】
この課題を解決するために、本発明の不揮発性記憶システムは、アクセス装置と、前記アクセス装置から指定された論理アドレスに従いデータの読み出し、書き込みを行う不揮発性記憶装置と、を有した不揮発性記憶システムであって、前記不揮発性記憶装置は、不揮発性メモリと、前記不揮発性メモリに接続され、前記アクセス装置から指定された論理アドレスに従い前記不揮発性メモリにデータを書き込み、前記不揮発性メモリからデータを読み出すメモリコントローラと、を具備し、前記メモリコントローラは、前記アクセス装置からの書き込み指示に伴って転送された転送データが消去済みを示すデータかどうかを判定するデータ判定部と、前記論理アドレスを前記不揮発性メモリにおけるデータ等の記憶位置である物理アドレスに変換すると共に前記物理アドレスの記憶領域のステータスの情報を保持し、前記データ判定部が消去済みデータと判定した前記転送データの論理アドレスに対応する物理アドレスを空き領域とするアドレス管理部と、を有するものである。
【００１７】
ここで前記メモリコントローラは、前記データ判定部が消去済みデータと判定した前記転送データの論理アドレスへの読み出し指示が外部からなされた場合に、消去済みデータを表すコードを外部に転送する仮想出力部をさらに備えるようにしてもよい。
【００１８】
ここで前記メモリコントローラは、前記データ判定部が消去済みデータと判定した前記転送データの、前記不揮発性メモリへの書き込みを禁止するようにしてもよい。
【発明の効果】
【００１９】
本発明によれば、消去済みデータ判定部が、ディスクイメージコピーにおいて転送される転送データが消去済みデータか否かを判定し、アドレス管理部が該判定された消去済みデータの論理アドレスに対応する物理アドレスを空き領域として管理するようにしたので、空き領域のサイズが少ししか残らないといった状態を回避することが可能となる。即ちディスクイメージコピーした場合においても、従来よりも長寿命かつ処理速度の速いメモリカードを提供することが可能となる。
【発明を実施するための最良の形態】
【００２０】
（第１の実施の形態）
図１は、本発明の第１の実施の形態における不揮発性記憶システムを示したブロック図である。図１において、不揮発性記憶システムは、不揮発性記憶装置１００Ａとアクセス装置２００とから構成される。不揮発性記憶装置１００Ａは、不揮発性メモリ１１０とメモリコントローラ１２０Ａを含む。メモリコントローラ１２０Ａはホストインターフェース（ホストＩＦ）１２１、バッファ１２２、メモリインターフェース（フラッシュＩＦ）１２３、ＣＰＵ部１２４、アドレス管理部１２５、データ判定部１２６、仮想出力部１２７を含んでいる。
【００２１】
不揮発性メモリ１１０は、ここでは消去単位である物理ブロックのサイズが２５６ｋバイトのフラッシュメモリとする。また物理ブロックの構成要素であり、書き込み単位であるページのサイズは２ｋバイトとする。通常、ひとつのフラッシュメモリチップ内には数百〜数千個の物理ブロックを備えるが、ここでは簡単のために、不揮発性メモリ１１０は１６個の物理ブロックを備えるものとして説明する。この場合、不揮発性メモリ１１０の物理容量は式（１）により４０９６ｋバイトとなる。
２５６ｋバイト（物理ブロックサイズ）×１６ブロック＝４０９６ｋバイト  ・・・（１）
【００２２】
ホストインターフェース１２１は、アクセス装置２００からのデータの書き込みの際に、アクセス装置２００から転送された書き込みコマンドと論理アドレスとデータ（以下、転送データという）を受信してバッファ１２２に転送する。またアクセス装置２００が不揮発性記憶装置１００Ａからデータを読み出す際に、アクセス装置２００から転送された読み出しコマンドと論理アドレスを受信すると共に、メモリインターフェース１２３が不揮発性メモリ１１０からバッファ１２２に読み出したデータを、アクセス装置２００に送信するブロックである。
【００２３】
バッファ１２２はアクセス装置１５０から与えられたデータを一時保持し、又フラッシュメモリ１１０から読み出されたデータを保持してアクセス装置に転送するものであり、少なくとも１ページ分のデータを保持する領域を有している。
【００２４】
メモリインターフェース１２３は、書き込み時においては、ホストインターフェース１２１がバッファ１２２に一時記憶した転送データを、アドレス管理部１２５が指示した不揮発性メモリ１１０の物理アドレスに書き込んだり、また読み出し時においては、不揮発性メモリ１１０に記憶されているデータをバッファ１２２に読み出したりするものである。
【００２５】
ＣＰＵ部１２４は、読み書きの制御などメモリコントローラ１２０の全体を制御するものである。なお、本発明とは直接関係ないブロックであるので、その動作説明は省略する。
【００２６】
アドレス管理部１２５は、アクセス装置２００から受信した論理アドレスとデータ判定部１２６から受信した空き領域指示フラグに基づいて、不揮発性メモリ１１０の物理アドレスを生成するものである。またアドレス管理部１２５は、物理領域管理テーブル１３１と論物変換テーブル１３２を含む。物理領域管理テーブル１３１は物理ブロック番号ＰＢＮに対応してその物理ブロックのステータスを保持する情報を保持している。ここで０は有効ブロック、１は無効ブロック、２は不良ブロック、３は消去済みブロックを示す。無効ブロックと消去済みブロックとはいずれも空き領域として認識されるが、無効ブロックの場合には何らかのデータが書き込まれていることがある。従って次にデータを書き込む際には、一旦消去してからデータを書き込む必要がある。一方消去済みブロックについては消去処理が終了しているため、直ちに新たなデータを書き込むことができる。論物変換テーブル１３２は論理ブロック番号ＬＢＮに対応して物理ブロック番号ＰＢＮを保持するテーブルである。これらのテーブルはアドレス管理部１２５内に備えられた不揮発性ＲＡＭ上に保持される。これらのテーブルは揮発性ＲＡＭとして構成してもよいが、その場合は適宜不揮発性メモリ１１０に書き込む必要がある。
【００２７】
データ判定部１２６は、書き込み時においてアクセス装置２００が転送した転送データが、論理ブロック単位で消去済みデータかどうかを判定し、消去済みデータと判定した場合は、空き領域指示フラグをアドレス管理部１２５に送信するものである。なお論理ブロックとは、論理アドレスを２５６ｋバイト毎に区切った単位である。
【００２８】
仮想出力部１２７は、アドレス管理部１２５が無効ブロックあるいは消去済みブロックとして管理している不揮発性メモリ１１０の物理ブロックに対応する論理ブロックへの読み出し指示がアクセス装置２００からなされた場合に、消去済みデータを表すコード（例えばバイト単位で“ＦＦ”）を、ホストインターフェース１２１を介してアクセス装置２００に送信するものである。アクセス装置２００は不揮発性記憶装置１００Ａに対して無効とされている論理ブロックや消去済みの論理ブロックに対しては、通常アクセスを行うことはない。しかしこの実施の形態では、ディスクイメージコピーを行う場合に有効なデータとしての“ＦＦ”がブロックの全ての領域に書き込まれている場合と消去済みのデータである“ＦＦ” がブロックの全ての領域に書き込まれている場合とを区別せず、不揮発性メモリ１１０に書き込んでいる。従って有効でデータである“ＦＦ”があればそれに対応する論理アドレスがあり、アクセス装置２００はこの場合には不揮発性記憶装置１００Ａに対してその論理アドレスの読み出しのコマンドを不揮発性記憶装置１００Ａに送出する。仮想出力部１２７は、この場合に不揮発性メモリに正常に書き込まれているかどうかとは無関係に、不揮発性記憶装置１００Ａからデータ“ＦＦ”をアクセス装置２００に出力するものである。従ってアクセス装置２００からこのような読み出し指示がなされた場合は、アドレス管理部１２５は、メモリインターフェース１２３に対して読み出し指示は行わない。
【００２９】
アクセス装置２００は、不揮発性記憶装置１００Ａへのデータの書き込みおよび読み出しを行う装置である。
【００３０】
次にデータ判定部１２６の詳細について図２を用いて説明する。図２においてデータ判定部は１バイトの転送データが入力される並列の８つのＤフリップフロップ１４０（図面ではＤ−ＦＦと表記）及びそのＱ出力が与えられる比較器１４１が含まれる。Ｄフリップフロップ１４０はシステムクロックＳＣＫに同期してデータを比較器１４１のＡ入力端に出力するものであり、比較器１４１のＢ入力端には常に消去状態を示す１６進表示の“ＦＦ”の８ビットのデータが入力される。比較器１４１はこれらが一致しないときに出力をＲＳフリップフロップ１４２（図面でＲＳ−ＦＦと表記）に出力するものである。又転送開始フラグは１８ビットカウンタ１４５に与えられる。ＲＳフリップフロップ１４２のＱ出力はＤフリップフロップ１４３に出力される。Ｄフリップフロップ１４３はＲＳフリップフロップ１４２の出力をシステムクロックＳＣＫに同期してアンドゲート１４４に出力するものである。一方転送開始フラグは１８ビットカウンタ１４５に出力される。１８ビットカウンタ１４５はＳＣＫの立ち下がりエッジでカウントアップするカウンタであり、２１８個のシステムクロックＳＣＫが与えられたときにキャリーオーバー出力をオアゲート１４６及びアンドゲート１４４に出力するものである。オアゲート１４６は転送開始フラグとキャリーオーバー出力のいずれか一方でＲＳフリップフロップ１４２をセットするものであり、アンドゲート１４４はキャリーオーバー出力に同期して空き領域指示フラグを出力するものである。
【００３１】
次に本実施の形態の不揮発性記憶システムのディスクイメージコピー処理について説明する。図３は、不揮発性記憶装置１００Ａにディスクイメージコピーを行う形態を示す説明図である。
【００３２】
不揮発性記憶装置１００Ａにプログラムデータをプリインストールして出荷する場合、図３に示すように予めプログラムデータを記憶している不揮発性記憶装置３００（例えばマスターメモリカード）をアクセス装置２００のスロット２０１に装着し、さらにアクセス装置２００のスロット２０２に何もデータが書き込まれていない本実施の形態の不揮発性記憶装置１００Ａを装着する。不揮発性記憶装置３００は、ここで説明した不揮発性記憶装置１００Ａと同じものでもよく、従来の不揮発性記憶装置であっても構わない。不揮発性記憶装置３００は論理ブロック番号ＬＢＮ０〜３にプログラムデータがアロケートされ、論理ブロック番号ＬＢＮ４〜１３は消去済みブロックとする。なお、ＦＡＴなどのファイル管理情報はプログラムデータがアロケートされているＬＢＮ０の中に存在するものとする。
【００３３】
データが書き込まれる不揮発性記憶装置１００Ａは新しい出荷直後の不揮発性記憶装置とし、物理領域管理テーブル１３１には全てあらかじめ消去済みブロックを示すステータス３が保持されているものとする。また、不揮発性記憶装置１００Ａと不揮発性記憶装置３００の使用可能容量は、ともに式（２）に示すように３５８４ｋバイトであるとする。前述した物理容量４０９６ｋバイトから使用可能容量３５８４ｋバイトを減算した残りの領域は、スペア領域、即ちデータの書き換え時に利用される領域とする。また、論理ブロックサイズは、物理ブロックサイズと同じ２５６ｋバイトとする。
２５６ｋバイト（論理ブロックサイズ）×１４ブロック＝３５８４ｋバイト  ・・・（２）
【００３４】
次に、ディスクイメージコピーにおいて、不揮発性記憶装置１００Ａ側での処理について図１及び図４を用いて説明する。アクセス装置２００は不揮発性記憶装置２２０に記憶されたプログラムデータを含め使用可能容量３５８４ｋバイト分全てを転送データとして不揮発性記憶装置１００Ａに書き込む。転送データは論理ブロック番号ＬＢＮが０〜１３までの１４個の論理ブロックから構成される。
【００３５】
転送データは全てホストインターフェース１２１を介してバッファ１２２に２ｋバイトずつ一時保持され、メモリインターフェース１２３を介して不揮発性メモリ１１０に書き込まれる。転送データと共に転送される論理アドレスはホストインターフェース１２１を介してアドレス管理部１２５に転送され、論物変換処理によって転送データの書き込み先である物理アドレスが決定される。
【００３６】
論物変換処理においては、物理領域管理テーブル１３１の先頭アドレス、即ち物理ブロック番号（以下、ＰＢＮという）が０から昇順に、ブロックステータスが値３（消去済みブロック）もしくは値１（無効ブロック）の物理ブロックを検索することによって、論物変換を行う。ディスクイメージコピー時は、物理領域管理テーブル１３１に保持されたブロックステータスは全て値３、即ち全て消去済みブロックであるので、図４に示すように、転送データは不揮発性メモリ１１０の先頭の物理ブロックから昇順に記録され、その結果論物変換テーブル１３２は図４に示した通りとなる。
【００３７】
論物変換処理と同時に、データ判定部１２６は論理ブロック毎にアクセス装置２００より転送されてきた全てのデータが消去済みデータ“ＦＦ”か否かを判定する。この判定処理は後述する。ここで消去済みデータと判定した場合は、対応するＬＢＮに基づき論物変換テーブル１３２を参照し、該ＬＢＮに対応するＰＢＮを求め、該ＰＢＮに対応する物理領域管理テーブル１３１のブロックステータスを値１（無効ブロック）に更新する。ブロック４〜１３についてはいずれも消去済みデータであるので、データ判定部１２６で判定した結果、いずれのブロックも全て消去済みデータとなっている。その結果、図４に示すようにＰＢＮ４〜１３のブロックステータスは全て値１とする。
【００３８】
次に、データ判定処理の具体的な方法について、図２〜図６を用いて説明する。図５と図６の上段に示すように、ディスクイメージコピーにおいて、アクセス装置２００から不揮発性記憶装置１００Ａに対してＬＢＮ０から順番にデータが転送される。ホストインターフェース１２１を介して取り込まれた転送データは、データ判定部１２６において、論理ブロック単位（２５６ｋバイト単位）で消去済みデータか否かが判定される。
【００３９】
図５は、転送データのＬＢＮ０の２５６ｋバイト分のデータ判定を行うタイムチャートである。データ判定部１２６は、転送データの転送開始時にホストインターフェース１２１から転送開始フラグを受信し、１８ビットカウンタ１４５をリセットし、オアゲート１４６を介してＲＳフリップフロップ１４２をセットする。従ってＲＳフリップフロップ１４２のＱ出力は値１となる。このとき、１８ビットカウンタ１４５の内部のカウント値は値０となる。
【００４０】
その後、Ｄフリップフロップ１４０は、ＬＢＮ０の転送データを１バイト（８ビット）毎にシステムクロックＳＣＫの立ち上がりエッジによってラッチし、ラッチしたデータ（Ｑ出力）を比較器１４１のＡ入力に入力する。図５に示すようにＬＢＮ０のバイト番号ＢＮ０のデータ値は“ＦＦ”とすると、比較器１４１のＢ入力には常時“ＦＦ”が入力されているので、Ａ入力とＢ入力が共に“ＦＦ”となり、比較不一致出力（Ａ≠Ｂ）は値０となる。
【００４１】
比較不一致出力が値０であるので、ＲＳフリップフロップ１４２はリセットされず、Ｑ出力は値１に保たれる。Ｄフリップフロップ１４３はシステムクロックＳＣＫの立ち下がりエッジによってＲＳフリップフロップ１４２のＱ出力（値１）をラッチすることにより、Ｄフリップフロップ１４３のＱ出力を値１とする。アンドゲート４０４はＤフリップフロップ１４３のＱ出力と、１８ビットカウンタ１４５のＣＯ出力（キャリーアウト出力）との論理積をとり空き領域指示フラグを生成する。
【００４２】
以上の処理を２５６ｋバイト分全て実行した時点、即ち１８ビットカウンタ１４５がカウント値を０〜２６２１４３までの１８ビット分全てをカウントし終えた時点でＣＯ出力を値１とする。
【００４３】
ＬＢＮ０のＢＮ１の値は１６進数で“３２”である、即ち“ＦＦ”とは一致しない値であるので、比較器１４１において比較不一致出力（Ａ≠Ｂ）は値１となり、ＲＳフリップフロップ１４２はリセットされ、その結果Ｑ出力が値０となる。このようにＬＢＮ０の２５６ｋバイト分の中に、１つでも“ＦＦ”と一致しないデータ値があると、その時点でＲＳフリップフロップ１４２のＱ出力は値０となり、ＣＯが値１となる時点、即ち空き領域指示フラグを生成する時点において、空き領域指示フラグは値０となる。
【００４４】
アドレス管理部１２５は、データ判定部１２６から空き領域指示フラグを値０として受信し、ＬＢＮ０の転送データは「消去済みデータではない」と認識する。アドレス管理部１２５は、論物変換テーブル１３２に基づきＬＢＮ０がＰＢＮ０に変換されていることを認識し、物理領域管理テーブル１３１のＰＢＮ０を有効ブロック、即ちブロックステータスを値０とする。
【００４５】
ＬＢＮ１〜ＬＢＮ３の転送データは、ＬＢＮ０と同様に消去済みデータではないと判断すると、図５と同様の処理によって、空き領域指示フラグは値０となり、図４に示すように物理領域管理テーブル１３１のＰＢＮ１〜３に対応するブロックステータスは値０となる。
【００４６】
次に図６は、ＬＢＮ４の転送データ２５６ｋバイト分のデータ判定を行うタイムチャートである。処理内容は基本的に図５と同様であり、ＬＢＮ４の２５６ｋバイト分全てのバイトの転送データが消去済みデータ、即ち“ＦＦ”であるという点が異なる。そのため比較器１４１の比較不一致出力（Ａ≠Ｂ）は値１にならないので、ＲＳフリップフロップ１４２はリセットされることはない。その結果、ＣＯが値１となる時点、即ち空き領域指示フラグを生成する時点において、空き領域指示フラグは値１となる。
【００４７】
アドレス管理部１２５は、データ判定部１２６から空き領域指示フラグを値１として受信し、ＬＢＮ４の転送データは「消去済みデータである」と認識する。アドレス管理部１２５は、論物変換テーブル１３２に基づきＬＢＮ４がＰＢＮ４に変換されていることを認識し、物理領域管理テーブル１３１のＰＢＮ４を無効ブロック、即ちブロックステータスを値１とする。
【００４８】
ＬＢＮ５以降の転送データは、ＬＢＮ４と同様に「消去済みデータである」とすると、図６と同様の処理によって、空き領域指示フラグは値１となり、図４に示すように物理領域管理テーブル１３１のＰＢＮ４〜１３に対応するブロックステータスは値１となる。
【００４９】
なお、従来の不揮発性記憶システムにおいては、転送されたデータの判定をしておらず、消去済みデータか否かを認識できないので、ＰＢＮ４〜１３のブロックステータスは全て値０となる。その後、特定のＬＢＮの書き換え処理が頻繁に発生した場合は、ブロックステータスが値３であるＰＢＮ１４とＰＢＮ１５の２つのブロックを使用した書き換え処理がおこなわれるために、ＰＢＮ１４とＰＢＮ１５への書き換えが集中してしまうこととなる。
【００５０】
本願発明の第１の実施の形態における不揮発性記憶システムにあって、データ判定処理によってＬＢＮ４〜１３を消去済みデータと判定することができるので、ＬＢＮ４〜１３に対応するＰＢＮ４〜１３の物理ブロックのステータスを無効ブロックとして管理することできる。その結果、ディスクイメージコピー後に、特定のＬＢＮの書き換え処理が頻繁に発生した場合においても、ＰＢＮ４〜１３も書き換えのための代替ブロックとして使用することができるので、従来のようなＰＢＮ１４とＰＢＮ１５への書き換え集中といった問題を回避することが可能となる。
【００５１】
次に、ディスクイメージコピーの終了後において、ＬＢＮ４〜１３、即ち無効ブロックとして管理されている領域に対する読み出し指示がアクセス装置２００からなされた場合の処理について説明する。ここで、マスター側の不揮発性記憶装置３００の例えばＬＢＮ４の全領域には有意味なデータとして消去済みデータを表すコード“ＦＦ”が保持されていたとする。
【００５２】
アクセス装置２００が、ディスクイメージコピーの終了後に読み出しを行う場合は、まず、ＬＢＮ０内のＦＡＴ等のファイル管理情報を読み出し、ファイル管理情報に参照して読み出したいデータが存在する論理アドレスを特定する。該論理アドレスが例えばＬＢＮ４であると、ＬＢＮ４に対する読み出し指示がなされることとなる。しかしながら、ＬＢＮ４に対応するＰＢＮ４は、不揮発性記憶装置１００Ａにおいては、無効ブロック、即ち有効なデータが記憶されていないとして管理している。そのためＰＢＮ４を読み出すことができず、従来の不揮発性記憶装置であれば、未アロケートのエラーメッセージをアクセス装置２００に送信することとなる。
【００５３】
この実施の形態においては論理ブロックの全てのデータが有効なデータとしての“ＦＦ”であっても、消去済みデータと判断してブロックステータスを無効ブロックにしている。しかし有効なデータであればアクセス装置２００からみてデータの読み出し処理が行われる場合がある。そこで無効ブロックに対する読み出し指示がなされた場合、仮想出力部１２７が消去済みデータを表すコード“ＦＦ“をアクセス装置２００に送信できるようにしている。図７は、仮想出力部１２７の仮想出力処理を示すフローチャートである。
【００５４】
図７において、アクセス装置２００からの読み出し指示を受信すると（Ｓ１００）、アクセス装置２００が指示した論理アドレスＬＡに対応するＬＢＮを特定し（Ｓ１０１）、さらにアドレス管理部１２６内の論物変換テーブル１３２と物理領域管理テーブル１３１を参照することにより、該ＬＢＮのブロックステータスを調べる（Ｓ１０２）。無効ブロックの場合は（Ｓ１０３）、消去済みデータを表すコード“ＦＦ”をアクセス装置２００に送信する（Ｓ１０４）。アクセス装置２００が指示した論理アドレスを内部でインクリメントすると共に読み出しバイト数を内部でカウントし（Ｓ１０５）、読み出しバイト数が、アクセス装置２００が指定した読み出し要求サイズに達した場合は処理を終了する（Ｓ１０６）。一方、読み出しバイト数が読み出し要求サイズに達していない場合は、内部でインクリメントした論理アドレスに基づき論理ブロック番号ＬＢＮが変化したかどうかを判定し（Ｓ１０７）、変化していなければＳ１０４に戻り、変化していればＳ１０２に戻る。
【００５５】
なお、Ｓ１０３においてＬＢＮが無効ブロックでない場合は、通常の読み出し処理、即ち不揮発性メモリ１１０からの読み出し処理となるので、仮想出力部１２７における処理を終了し、アドレス管理部１２５とメモリインターフェース１２３による通常の読み出し処理に移行する。通常の読み出し処理は従来のものと同様にＣＰＵ部１２４がデータの読み出しを行うので説明を省略する。
【００５６】
以上のように本発明の第１の実施の形態の不揮発性記憶システムは、ディスクイメージコピーにおいて、データ判定部１２６が、アクセス装置２００から転送された転送データが消去済みデータか否かを論理ブロック単位毎に判定し、消去済みデータと判定した場合は空き領域指示フラグをアドレス管理部１２５に送信し、アドレス管理部１２５は空き領域指示フラグを受信した時の論理ブロック番号ＬＢＮに対応する物理ブロック番号ＰＢＮのブロックステータスを無効ブロック（値１）に設定している。こうすればディスクイメージコピー後に、特定のＬＢＮ（例えばＬＢＮ０）の書き換え処理が頻繁に発生した場合においても、ＰＢＮ４〜１５を書き換え用の代替ブロックとして使用できるので、従来よりも書き換え回数の平準化がなされることとなる。
【００５７】
なお、図４において、ＰＢＮ４〜１３には消去済みデータではあるが転送データを書き込むため、その途中でデータが変化してしまう可能性があり得る。従って物理領域管理テーブル１３１のＰＢＮ４〜１３のブロックステータスを値３（消去済みブロック）ではなく値１（無効ブロック）に設定している。不揮発性メモリ１１０の物理的特性上確実に“ＦＦ”と記録することができるのであれば、ブロックステータスを値３（消去済みブロック）に設定してもさしつかえない。その場合は、図７のＳ１０３は、「消去ブロックか」という判断分岐となる。
【００５８】
また論理ブロックや物理ブロックのサイズは２５６ｋバイトに限定されることはなく、使用する不揮発性メモリ１１０の仕様やアクセス装置２００の仕様等にあわせて決めればよい。
【００５９】
又この実施の形態ではアクセス装置から消去済みブロックに対する読み出しの要求があったときに仮想出力部１２７よりデータを出力しているが、この要求により当該論理ブロックは有効なデータが保持されていると認識できるため、物理領域管理テーブル１３１のブロックステータスを有効ブロックを示す０に変更するようにしてもよい。又本実施の形態では消去済みデータとして“ＦＦ”の場合について説明しているが、消去済みデータはこれに限らず“００”など他の値の場合もあり得る。この場合にはデータ判定部１２６の比較器１４１に出力するＢ入力を“００”などとすることによって、同様の処理を行うことができる。
【００６０】
（第２の実施の形態）
本発明の第１の実施の形態における不揮発性記憶システムは、アクセス装置２００から転送された転送データにおいて消去済みデータも不揮発性メモリ１１０に書き込んでいたが、本発明の第２の実施の形態における不揮発性記憶システムは、消去済みデータは不揮発性メモリ１１０に書き込まないようにするものである。
【００６１】
図８は、本発明の第２の実施の形態における不揮発性記憶システムを示したブロック図である。この不揮発性記憶装置１００Ｂは不揮発性メモリ１１０とメモリコントローラ１２０Ｂとを有している。メモリコントローラ１２０Ｂにおいて、メモリインターフェース１６３、アドレス管理部１６５、データ判定部１６６が前述した第１の実施の形態と異なっており、その他のブロックは第1の実施の形態の不揮発性記憶システムと同様である。
【００６２】
本実施の形態では、データ判定部１６６は、データ判定部１２６の機能に加え、転送データを不揮発性メモリ１１０の書き込み単位であるページサイズ（２ｋバイト）毎に、消去済みデータか否かの判定を行い、書き込み禁止フラグを出力できる機能を追加した。図９は、データ判定部１６６の回路構成図であり、データ判定部１２６の回路構成に以下の素子が加えられている。データ判定部１６６において、１８ビットカウンタ１４５のＱ１１出力は、オアゲート１４７とアンドゲート１５０に与えられる。オアゲート１４７はＱ１１出力と転送開始フラグとの論理和出力をＲＳフリップフロップ１４８のセット入力として与えるものである。ＲＳフリップフロップ１４８は比較器１４１の出力によってリセットすることにより、２ｋＢ単位でのデータが“ＦＦ”と一致するかどうかを確認している。そしてそのＱ出力がＤフリップフロップ１４９に入力される。Ｄフリップフロップ１４９はシステムクロックがクロック端子に与えられ、Ｑ出力がアンドゲート１５０に出力される。アンドゲート１５０は書き込み禁止フラグを出力するものである。
【００６３】
以上のように構成された、本発明の不揮発性記憶システムのディスクイメージコピー処理について図１０〜図１２を用いて説明する。図１１と図１２は、データ判定部１６６のデータ判定処理を示すタイムチャートである。ディスクイメージコピーの配置については図３と同様であり、スロット２０２にこの実施の形態の不揮発性記憶装置１００Ｂを装着しておく。そして図１０はアドレス管理部１６５の処理を示す説明図である。第１の実施の形態と同様に、マスター側の不揮発性記憶装置３００のプログラムデータは論物変換処理、データ判定処理が行われてそのまま不揮発性記憶装置１００Ｂのメモリに書き込まれ、それに対応して物理領域管理テーブル１３１のステータスがＰＢＮ０〜３まで設定されていく。
【００６４】
処理内容は、基本的には空き領域指示フラグの生成処理と同様である。第２の実施の形態では２５６ｋバイト単位で転送データが消去済みか否かを判定して空き領域指示フラグを生成すると共に、２ｋバイト単位で転送が消去済みか否かを判定して書き込み禁止フラグを生成する。これらのフラグを生成するため、１８ビットカウンタ１４５からのＣＯとＱ１１の出力によって、これらの時間的間隔を制御している。
【００６５】
図１１は、ＬＢＮ０の中のＢＮ０〜２０４７のデータ判定処理を示すタイムチャートであり、ＢＮ１において、即ち転送データが“ＦＦ”ではなくなる時点でＲＳフリップフロップ１４８がリセットされ、それが要因となってＢＮ２０４７まで処理された時点で書き込み禁止フラグが値０となる。従ってＬＢＮ０の最初の２ｋＢは書き込み禁止フラグが出力されず、不揮発性メモリ１１０への書き込みが行われる。以下も同様の判定が行われる。
【００６６】
一方、図１２は、ＬＢＮ４の中のＢＮ０〜２０４７のデータ判定処理を示すタイムチャートである。この場合は、２０４８バイト分全ての転送データが“ＦＦ”であるので、ＲＳフリップフロップ１４８がリセットされることなく、ＢＮ２０４７まで処理された時点で書き込み禁止フラグが値１となる。この場合は、メモリインターフェース１６３は書き込み禁止フラグが値１であるので、バッファ１２２に一時保持されているＬＢＮ４のＢＮ０〜２０４７に対応するデータを不揮発性メモリ１１０に書き込むことを禁止する。
【００６７】
このように、２０４８バイト単位で消去済みデータの書き込み禁止制御を行うので、図９において、ＬＢＮ４〜１３の消去済みデータは不揮発性メモリ１１０に書き込まれることはない。アドレス管理部１６５は、ＬＢＮ４〜１３に対応する物理ブロック、即ちＰＢＮ４〜１３のブロックステータスを値３（消去済みブロック）に設定する。
【００６８】
以上のように、データ判定部１６６が、転送データが消去済みデータか否かを、論理ブロック（２５６ｋバイト）単位毎に行うことに加え、さらにページサイズ（２ｋバイト）単位毎に判定することにより、消去済みデータの場合は不揮発性メモリ１１０に書き込みを禁止できるようにした。このため本発明の第２の実施の形態における不揮発性記憶システムは、本発明の第１の実施の形態における不揮発性記憶システムよりも、消去データの書き込みを行わない分、ディスクイメージコピーの処理速度を速くすることができる。
【００６９】
尚通常のデータ書き込みにおいては、あらかじめ消去済みの物理ブロックにはそのままデータを書き込み、無効物理ブロックでは一旦消去済みとしてからデータを書き込んでいる。従って通常の書き込み時に特定のページが全てデータ“ＦＦ”であれば、データ判定部１６６の処理によってデータは書き込めないが、元々“ＦＦ”となっているので、転送データをわざわざ書き込む必要がなく、アクセス装置に指定した書き込み状態とすることができる。更にここで説明した実施の形態では、物理領域管理テーブルは物理ブロック毎に４つの状態を管理しているが、有効ブロックと空きブロックとして物理ブロックの状態を管理するようにしてもよい。
【産業上の利用可能性】
【００７０】
本発明にかかる不揮発性記憶システムは、ディスクイメージコピーを行った場合においても、長寿命かつ書き込み速度を両立する方法を提案したものであり、メモリカード等の不揮発性記憶装置を使用した静止画記録再生装置や動画記録再生装置、あるいは携帯電話において有益である。
【図面の簡単な説明】
【００７１】
【図１】本発明の第１の実施の形態における不揮発性記憶システムを示すブロック図
【図２】データ判定部１２６の回路構成図
【図３】不揮発性記憶装置１００Ａにディスクイメージコピーを行う形態を示す説明図
【図４】アドレス管理部１２５の処理を示す説明図
【図５】データ判定部１２６のデータ判定処理を示すタイムチャート
【図６】データ判定部１２６のデータ判定処理を示すタイムチャート
【図７】仮想出力部１２７の仮想出力処理を示すフローチャート
【図８】本発明の第２の実施の形態における不揮発性記憶システムを示すブロック図
【図９】データ判定部１６６の回路構成図
【図１０】アドレス管理部１６５の処理を示す説明図
【図１１】データ判定部１６６のデータ判定処理を示すタイムチャート
【図１２】データ判定部１６６のデータ判定処理を示すタイムチャート
【符号の説明】
【００７２】
１００Ａ，１００Ｂ  不揮発性記憶装置
１１０  不揮発性メモリ
１２０Ａ，１２０Ｂ  メモリコントローラ
１２１  ホストインターフェース
１２２  バッファ
１２３，１６３  メモリインターフェース
１２４  ＣＰＵ部
１２５，１６５  アドレス管理部
１２６，１６６  データ判定部
１２７  仮想出力部
１３１  物理領域管理テーブル
１３２  論物変換テーブル
１４０，１４３，１４９  Ｄフリップフロップ
１４１  比較器
１４２，１４８  ＲＳフリップフロップ
１４４，１５０  アンドゲート
１４５  １８ビットカウンタ
１４６，１４７  オアゲート
２００  アクセス装置
２０１，２０２  スロット
【図１】
2009134514.tif 000003
【図２】
2009134514.tif 000004
【図３】
2009134514.tif 000005
【図４】
2009134514.tif 000006
【図５】
2009134514.tif 000007
【図６】
2009134514.tif 000008
【図７】
2009134514.tif 000009
【図８】
2009134514.tif 000010
【図９】
2009134514.tif 000011
【図１０】
2009134514.tif 000012
【図１１】
2009134514.tif 000013
【図１２】
2009134514.tif 000014