(57)【特許請求の範囲】
【請求項１】
複数の物理ブロックによって構成される半導体メモリを含み、前記半導体メモリにホスト機器から書き込まれるデータを記録し、記録されたデータを読み出す半導体記録装置であって、
前記半導体メモリの物理アドレスと前記ホスト機器が発行するコマンドに含まれる論理アドレスとの対応を示す論物変換テーブルを前記半導体メモリに記録し、前記論物変換テーブルを元に、未使用ブロックを管理する無効ブロック管理テーブルを作成し、前記ホスト機器から発行されるコマンドにおける論理ブロックに対応する物理ブロックを、前記無効ブロック管理テーブルを参照しながら、略均等に選択すると共に、データを書き込んだときに前記論物変換テーブルを更新してアドレス管理を行うブロック管理部と、
前記半導体メモリの論理フォーマットが実行されたことを検出する論理フォーマット検出部と、
前記論理フォーマット検出部により論理フォーマットを検出した直後に、前記論物変換テーブルの各論理アドレスに対応する物理アドレスを無効アドレスに更新する論物変換テーブル初期化部と、
を具備する半導体記録装置。
【請求項２】
前記ブロック管理部は、前記論物変換テーブルを前記半導体メモリの所定の物理ブロックにページ番号順に追記することによって更新するものであり、
前記論物変換テーブル初期化部は、前記論理フォーマット検出部により論理フォーマット終了を検出した直後に、少なくとも一部の論理アドレスに対応する物理アドレスを無効アドレスに更新し、更新した論物変換テーブルを前記物理ブロックのページに追記する、請求項１に記載の半導体記録装置。
【請求項３】
前記論物変換テーブルはＫ個（Ｋは2以上の自然数）の部分領域に分割されたものであり、前記論物変換テーブル初期化部は、論理フォーマットの実行時には、前記Ｋ個の部分領域のうち少なくとも１つの部分領域を選択して論物変換テーブルを初期化する、
請求項１に記載の半導体記録装置。
【請求項４】
前記論物変換テーブルはＫ個（Ｋは2以上の自然数）の部分領域に分割されたものであり、前記論物変換テーブル初期化部は、論理フォーマットの実行時には、前記Ｋ個の部分領域のうち少なくとも１つの部分領域を選択して論物変換テーブルを初期化する、
請求項２に記載の半導体記録装置。
【請求項５】
ホスト機器と、前記ホスト機器に接続された半導体記録装置と、を具備する半導体記録システムであって、
前記半導体記録装置は、
複数の物理ブロックによって構成される半導体メモリと、
前記半導体メモリの物理アドレスと前記ホスト機器が発行するコマンドに含まれる論理アドレスとの対応を示す論物変換テーブルを前記半導体メモリに記録し、前記論物変換テーブルを元に、未使用ブロックを管理する無効ブロック管理テーブルを作成し、前記ホスト機器から発行されるコマンドにおける論理ブロックに対応する物理ブロックを、前記無効ブロック管理テーブルを参照しながら、略均等に選択すると共に、データを書き込んだときに前記論物変換テーブルを更新してアドレス管理を行うブロック管理部と、
前記ホスト機器から論物変換テーブル初期化コマンドが発行されたとき、前記論物変換テーブルの各論理アドレスに対応する物理アドレスを無効アドレスに更新する論物変換テーブル初期化部とを、具備し、
前記半導体メモリにホスト機器から書き込まれるデータを記録し、記録されたデータを読み出すものであり、
前記ホスト機器は、
前記半導体記録装置の論理フォーマットを行う場合には、前記論物変換テーブル初期化コマンドを前記半導体記録装置に発行する、
半導体記録システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリカードなどの半導体記録装置及び半導体記録システムに関し、特に半導体メモリの物理ブロックの書き換え回数を均等にする技術に関する。
【背景技術】
【０００２】
従来、フラッシュメモリが内蔵されたカード型の記録媒体であるＳＤ（Secure Digital）カード等の半導体記録装置は、超小型、超薄型であり、その取り扱い易さから、ディジタルカメラ、携帯機器等において画像等のデータを記録するために広く利用されている。【０００３】
半導体記録装置に内蔵されているフラッシュメモリは、一定サイズのブロック単位でデータを消去し書き換えできるメモリであり、その書き換え回数には制限がある。多値フラッシュメモリでは各物理ブロックにつき約１万回の書き換えが可能とされており、１万回を超えて書き換えを行った場合は、書き込みエラーが発生する確率が増加する。なお、書き込みエラーが発生した場合は書き込みエラーが発生したブロックをエラーブロックとして登録し、エラーブロック以外のブロックに書き込むという手法が用いられる。【０００４】
従って、動画をリアルタイムにフラッシュメモリに記録する場合においては、書き込みエラーが高い頻度で発生すると、生成された映像がフラッシュメモリに伝達される速度よりフラッシュメモリに書き込む速度が小さくなり、動画を連続的に記録することができなくなるという問題が生じる。【０００５】
この問題の発生を遅らせることに資する技術として、メモリの書き換え回数を見かけ上増加させる従来技術が知られている（特許文献１参照）。【０００６】
この従来技術は、メモリを複数の領域に分割し各領域の書き換え回数を記憶し、記憶された各領域の書き換え回数に基づいて、各領域の書き換え回数の差が少なくなるように、つまり書き換え回数の少ない領域を優先的に使用するようにメモリの書き換えを制御する技術である。このように各領域の書き換え回数の差が少なくなるように制御する手法は、レベリングと呼ばれている。この手法を用いると、同一の論理ブロックにデータを複数回書き込む場合にも、フラッシュメモリにおいて実際に記録される物理ブロックは変わっていく。レベリングが完璧に実施されると、半導体記録装置の書き換え可能回数は、（物理ブロックの数）×（物理ブロック毎の書き換え可能回数）まで増加することになる。【０００７】
特許文献２において、ホスト機器の要求に対応してフラッシュメモリへ書き込みを行ったブロック数である書き換え回数を計数する書き換え回数計数部と、フラッシュメモリに書き込まれている総書き換え回数を読み出す書き換え回数リード部と、書き換え回数計数部によって計数された書き換え回数と、書き換え回数リード部によって読み出された総書き換え回数に基づいて、新たに初回からの総計値である総書き換え回数を求めて、求めた総書き換え回数をフラッシュメモリに書き込む書き換え回数記録部と備え、書き換え回数記録部は、求めた総書き換え回数を、前に総書き換え回数の書き込んだ時からの書き換え回数が所定回数以上に到達した時点で、フラッシュメモリに書き込むことを特徴とする半導体記録装置が提案されている。【０００８】
カメラレコーダ等では、メモリカードの全領域に画像データを記録し、記録した画像データをＨＤＤ等にアップロードした後にメモリカードをフォーマットして再び記録する。このような用途においては、（総書き換え回数／物理ブロック数）が半導体メモリの書き換え回数上限値にほぼ一致する。従って、書き換え回数の上限値近くになると警告ランプなどを発光すれば、ユーザは使用の限界であることを認識することができる。
【特許文献１】特開平６−３０２１９４号公報
【特許文献２】特開２００５−２８４６５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ＳＤカードなどのメモリカードを、次に述べるシーケンスで運用する場合について図１，図２を用いて説明する。なお、ファイルシステムはＦＡＴを使用している。
シーケンス０  初期状態
シーケンス１  メモリカードを論理フォーマット
シーケンス２  メモリカードの全容量分を記録
シーケンス３  メモリカードに記録されたコンテンツをサーバにアップロード
シーケンス４  メモリカードを再論理フォーマット
シーケンス５  メモリカードの半分の容量分だけ記録
シーケンス６  メモリカードに記録されたコンテンツをサーバにアップロード
シーケンス７  メモリカードを再論理フォーマット
シーケンス８  メモリカードの半分の容量分だけ記録
シーケンス９  メモリカードに記録されたコンテンツをサーバにアップロード【００１０】
以下、シーケンス７〜シーケンス９を繰り返す。
メモリカードを構成する半導体メモリの物理ブロックは、
Ｅ  消去済みブロック
Ｗ  書き込み済みであり、消去不可であるブロック
Ｉ  書き込み済みであるが、消去可能なブロック
に分類される。そして、後発性のバッドブロックへの備えとレベリングの実施のため、物理ブロックの数は論理ブロックの数より所定ブロック分多く確保している。【００１１】
シーケンス０は初期状態であるので、メモリカードの内部システムで使用されるブロック以外の全物理ブロックは図１に（ａ）で示すように消去済みブロックＥである。【００１２】
シーケンス１においてメモリカードを論理フォーマットすることは、新たなファイルアローケーションテーブル（以下、ＦＡＴという）を記録することに相当する。従って図１に（ｂ）で示すようにＦＡＴの記録に用いた物理ブロックが書き込み済ブロックＷになる。【００１３】
シーケンス２では、論理ブロック番号順にホストからライトコマンドが発行される。半導体メモリの物理ブロックは、消去済み物理ブロックのうち番号が小さいブロックから順番に発行された論理ブロックに割り当てられることにする。従ってシーケンス２後は、全容量分記録するので、図１に（ｃ）で示すように全論理ブロックの容量に相当する物理ブロックが書き込み済ブロックＷになる。【００１４】
シーケンス３では記録されたデータをアップロードする。次いでシーケンス４における再フォーマットでは、新たなＦＡＴを書き込む。このとき図１に（ｃ）で示す消去済みブロックＥにＦＡＴが記録され、そのブロックが書き込み済みブロックＷ１となる。ここで新たに記録した領域は、以前に記録した領域と区別するためＷ１と記す。以前に記録されていたＦＡＴは不要なので、消去可能ブロックＩになる。この状態を図１に（ｄ）で示す。【００１５】
シーケンス５では、新たにＦＡＴが書き込まれたブロックの次の消去済みブロックＥから順番に全容量の半分まで記録する。記録された論理ブロックに対する旧データは不要なので、記録毎に順次消去可能ブロックＩとなる。次の論理ブロックのデータはこの消去可能ブロックに書き込まれるため、新たにＦＡＴが書き込まれたブロックの次の物理ブロックから順に消去可能ブロックＩの位置がずれていく。図２に（ａ）で示す状態は半分の容量を記録したシーケンス５の後のメモリカードにおける物理ブロックの状態を示す。ライトコマンドが発行されなかった論理ブロックに対応する物理ブロックＷは更新されないままである。【００１６】
さらに、シーケンス６で内部コンテンツをサーバにアップロードする。次いで、シーケンス７により再論理フォーマットする。ここで新たに記録した領域は、以前に記録した領域と区別するためＷ２と記す。図２に（ａ）で示すメモリの状態において、シーケンス７で消去可能ブロックＩに新たなＦＡＴが記録され、書き込み済ブロックＷ２となる。元のＦＡＴを記録していた物理ブロックは不要なので、消去可能ブロックＩになる。図２（ｂ）はシーケンス７後のメモリカードにおける物理ブロックの状態を示す。【００１７】
シーケンス８では、図２に（ｂ）で示す消去済みブロックＩから順番に全容量の半分まで記録され、図２に（ｃ）で示す状態となる。記録された同一論理ブロックに対する旧データを保持していた物理ブロックは、旧データが不要なので消去済みブロックＩとなる。図２に（ｃ）で示されるように、半分の容量しか記録しないので、ライトコマンドが発行されなかった論理ブロックに対応する物理ブロックＷは更新されないままである。【００１８】
このように、最初に全容量分記録した後に、論理フォーマット（ＦＡＴ部の初期化）を行い、半分の容量まで記録するタスクを繰り返して行う場合、ファイルシステムで発行される論理アドレスは最初のアドレスから全論理アドレスの内半分の論理アドレスしか発行されない。よって、残り半分の論理アドレスに対応する物理ブロックは更新されないままである。【００１９】
例えば、全容量を記録した後に、半導体メモリを論理フォーマットし、半分の容量までの記録を１万回繰り返したとすると、書き換え回数が１回の物理ブロックと１万回の物理ブロックとが混在することになる。従来の特許文献２によるメモリカードで書き換え回数を求めた場合は、約５０００回となり、実際の書き換え回数と大きな誤差が発生する。【００２０】
また、ＦＡＴ部を初期化する論理フォーマットではなく、全論理ブロックを消去する物理フォーマットを実行した場合は、上記の課題を解決することができる。しかしながら物理フォーマットでは全ブロックの消去にかかる時間が大きくなってしまうといった課題があった。【００２１】
本発明は、上記問題を解決するものであり、メモリの書き込みの状態に関係なく、物理ブロックの書き換え回数を均等に保ち、かつ高速にフォーマット可能な半導体記録装置ならびに半導体記録システムを提供することを目的とする。
【課題を解決するための手段】
【００２２】
この課題を解決するために、本発明の半導体記録装置は、複数の物理ブロックによって構成される半導体メモリを含み、前記半導体メモリにホスト機器から書き込まれるデータを記録し、記録されたデータを読み出す半導体記録装置であって、前記半導体メモリの物理アドレスと前記ホスト機器が発行するコマンドに含まれる論理アドレスとの対応を示す論物変換テーブルを前記半導体メモリに記録し、前記論物変換テーブルを元に、未使用ブロックを管理する無効ブロック管理テーブルを作成し、前記ホスト機器から発行されるコマンドにおける論理ブロックに対応する物理ブロックを、前記無効ブロック管理テーブルを参照しながら、略均等に選択すると共に、データを書き込んだときに前記論物変換テーブルを更新してアドレス管理を行うブロック管理部と、前記半導体メモリの論理フォーマットが実行されたことを検出する論理フォーマット検出部と、前記論理フォーマット検出部により論理フォーマットを検出した直後に、前記論物変換テーブルの各論理アドレスに対応する物理アドレスを無効アドレスに更新する論物変換テーブル初期化部と、を具備するものである。
【００２３】
ここで前記ブロック管理部は、前記論物変換テーブルを前記半導体メモリの所定の物理ブロックにページ番号順に追記することによって更新するものであり、前記論物変換テーブル初期化部は、前記論理フォーマット検出部により論理フォーマット終了を検出した直後に、少なくとも一部の論理アドレスに対応する物理アドレスを無効アドレスに更新し、更新した論物変換テーブルを前記物理ブロックのページに追記するようにしてもよい。【００２４】
ここで前記論物変換テーブルはＫ個（Ｋは2以上の自然数）の部分領域に分割されたものであり、前記論物変換テーブル初期化部は、論理フォーマットの実行時には、前記Ｋ個の部分領域のうち少なくとも１つの部分領域を選択して論物変換テーブルを初期化するようにしてもよい。【００２５】
この課題を解決するために、本発明の半導体記録装置は、複数の物理ブロックによって構成される半導体メモリを含み、前記半導体メモリにホスト機器から書き込まれるデータを記録し、記録されたデータを読み出す半導体記録装置であって、前記半導体メモリの物理アドレスと前記ホスト機器が発行するコマンドに含まれる論理アドレスとの対応を示す論物変換テーブルを前記半導体メモリに記録し、前記論物変換テーブルを元に、未使用ブロックを管理する無効ブロック管理テーブルを作成し、前記ホスト機器から発行されるコマンドにおける論理ブロックに対応する物理ブロックを、前記無効ブロック管理テーブルを参照しながら、略均等に選択すると共に、データを書き込んだときに前記論物変換テーブルを更新してアドレス管理を行うブロック管理部と、前記ホスト機器から論物変換テーブル初期化コマンドが発行されたとき、前記論物変換テーブルの少なくとも一部の論理アドレスに対応する物理アドレスを無効アドレスに更新する論物変換テーブル初期化部と、を具備するものである。
【００２６】
ここで前記ブロック管理部は、前記論物変換テーブルを前記半導体メモリの所定の物理ブロックにページ番号順に追記することによって更新するものであり、前記論物変換テーブル初期化部は、前記論物変換テーブルの初期化時に、少なくとも一部の論理アドレスに対応する物理アドレスを無効アドレスに更新し、更新した論物変換テーブルを前記物理ブロックのページに追記するようにしてもよい。【００２７】
ここで前記論物変換テーブルはＫ個（Ｋは2以上の自然数）の部分領域に分割されたものであり、前記論物変換テーブル初期化部は、論理フォーマットの実行時には、前記Ｋ個の部分領域のうち少なくとも１つの部分領域を選択して論物変換テーブルを初期化するようにしてもよい。【００２８】
この課題を解決するために、本発明の半導体記録システムは、ホスト機器と、前記ホスト機器に接続された半導体記録装置と、を具備する半導体記録システムであって、前記半導体記録装置は、複数の物理ブロックによって構成される半導体メモリと、前記半導体メモリの物理アドレスと前記ホスト機器が発行するコマンドに含まれる論理アドレスとの対応を示す論物変換テーブルを前記半導体メモリに記録し、前記ホスト機器から発行されるコマンドにおける論理ブロックに対応する物理ブロックを、前記論物変換テーブルを参照して選択すると共に、データを書き込んだときに前記論物変換テーブルを更新してアドレス管理を行うブロック管理部と、前記ホスト機器から論物変換テーブル初期化コマンドが発行されたとき、前記論物変換テーブルの少なくとも一部の論理アドレスに対応する物理アドレスを無効アドレスに更新する論物変換テーブル初期化部と、を具備し、前記半導体メモリにホスト機器から書き込まれるデータを記録し、記録されたデータを読み出すものであり、前記ホスト機器は、前記半導体記録装置にコマンドを転送すると共に、そのファイルシステムを初期化する場合には、ファイルシステム初期化コマンドに加えて論物変換テーブル初期化コマンドを発行するものである。
【発明の効果】
【００２９】
本発明の半導体記録装置によれば、論理フォーマット時に論理アドレスと物理アドレスとの対応関係を解放することができる。そのため、例えば、全容量を記録した後に、論理フォーマットと一部の記録容量までの記録とを繰り返し実施した場合であっても、一部の物理ブロックに書き換えが集中することはなく、半導体メモリの物理ブロックの書き換え回数を均等にすることができる。【００３０】
また、特許文献２に示す従来の半導体記録装置で書き換え回数を求めた場合の書き換え回数の誤差を大幅に削減することができる。【００３１】
更に本発明では、論理フォーマットによって全ブロックを消去する物理フォーマットと同等の効果が得られ、物理フォーマットに比べて実行する時間を短くすることができる。
【図面の簡単な説明】
【００３２】
【図１】図１は従来の半導体記録装置において、先頭から半分の論理ブロックを記録した場合のフラッシュメモリの状態図である。
【図２】図２は従来の半導体記録装置において、さらに、先頭から半分の論理ブロックを記録した場合のフラッシュメモリの状態図である。
【図３】図３は本発明の実施の形態における半導体記録装置の構成図である。
【図４】図４は本実施の形態のフラッシュメモリにおけるメモリ領域の説明図である。
【図５】図５は本実施の形態のフラッシュメモリを構成する物理ブロックの構成図である。
【図６】図６は本実施の形態の論物変換テーブルの説明図である。
【図７】図７は本実施の形態の無効ブロック管理テーブル１１６の説明図である。
【図８Ａ】図８Ａは本実施の形態の論物変換テーブルの遷移図である。
【図８Ｂ】図８Ｂは本実施の形態の論物変換テーブルの遷移図である。
【図８Ｃ】図８Ｃは本実施の形態の論物変換テーブルの遷移図である。
【図９Ａ】図９Ａは本実施の形態の論物変換テーブルを格納している物理ブロックの遷移図である。
【図９Ｂ】図９Ｂは本実施の形態の論物変換テーブルを格納している物理ブロックの遷移図である。
【図１０Ａ】図１０Ａは本実施の形態の初期化後の論物変換テーブルの説明図である。
【図１０Ｂ】図１０Ｂは本実施の形態の初期化後の格納物理ブロックの説明図である。
【図１１】図１１は本実施の形態において全論理ブロックを記録する場合の半導体記録装置のフラッシュメモリの遷移図である。
【図１２】図１２は本実施の形態において、先頭から半分の論理ブロックを記録した場合のフラッシュメモリの状態図である。
【図１３】図１３は本実施の形態において、さらに、先頭から半分の論理ブロックを記録した場合のフラッシュメモリの状態図である。
【符号の説明】
【００３３】
１００  半導体記録装置
１１０  メモリコントローラ
１１１  外部インターフェース
１１２  コマンド解析部
１１３  論理フォーマット検出部
１１４  ブロック管理部
１１５  論物変換テーブル
１１６  無効ブロック管理テーブル
１１７  論物変換テーブル初期化部
１２０  フラッシュメモリ
２００  ホスト機器
【発明を実施するための最良の形態】
【００３４】
図３に本発明の実施の形態による半導体記録システムの構成図を示す。図３において、半導体記録装置１００は例えばメモリカードとして実現され、ホスト機器２００に接続されて使用される。半導体記録装置１００は、フラッシュメモリに対してデータの書き込み及び読み出しを制御するメモリコントローラ１１０と、不揮発性メモリであるフラッシュメモリ１２０を含んで構成されている。【００３５】
メモリコントローラ１１０は外部インターフェース１１１、コマンド解析部１１２、ブロック管理部１１４、論物変換テーブル１１５、無効ブロック管理テーブル１１６、論物変換テーブル初期化部１１７及びフラッシュ制御部１１８を含んでいる。【００３６】
次にメモリコントローラ１１０について詳細に説明する。外部インターフェース１１１は、ホスト機器２００からのコマンドを受信し、データの転送を行うインターフェースである。【００３７】
コマンド解析部１１２は、外部インターフェース１１１によって受信されたリードコマンドやライトコマンドなどのコマンドを解析するものである。コマンド解析部１１２内にはコマンド中の論理フォーマットを検出する論理フォーマット検出部１１３が設けられている。論理フォーマット検出部１１３は、所定の論理ブロックにＦＡＴデータが書き込まれることによって、論理フォーマットがなされたことを検出するものである。【００３８】
論物変換テーブル１１５は、ホスト機器２００から発行される論理ブロック番号とフラッシュメモリ１２０に記録されている物理ブロック番号との対応を示す論物変換テーブルである。このテーブルはメモリコントローラ１１０の揮発性メモリに記録され、同時にフラッシュメモリ１２０のいずれかの物理ブロックの１ページに記録される。【００３９】
無効ブロック管理テーブル１１６は、フラッシュメモリ１２０の物理ブロックが使用済みか無効ブロックかを示す情報を記録したテーブルであり、揮発性メモリで構成される。このテーブル１１６は後述するように、電源供給時に論物変換テーブル１１５に基づいて生成される。【００４０】
次にブロック管理部１１４は、論物変換テーブル１１５と無効ブロック管理テーブル１１６とを管理するものである。ブロック管理部１１４は、ホスト機器２００よりライトコマンドが発行され新規の物理ブロックが論理ブロックに割り当てられた場合に、論物変換テーブル１１５を更新し、フラッシュメモリ１２０内の論物変換テーブルの記録も更新する。【００４１】
論物変換テーブル初期化部１１７は、論理フォーマット検出部１１３が論理フォーマットを検出したときに、論物変換テーブル１１５の初期化を行うものである。この初期化は後述するように、論理ブロックに対応する物理ブロックのアドレスを無効ブロックに設定することによって行われる。【００４２】
フラッシュ制御部１１８は、コマンド解析に伴いフラッシュメモリ１２０へのデータの書き込み、及びフラッシュメモリ１２０からのデータの読み出しを行うブロックである。【００４３】
次にフラッシュメモリ１２０について説明する。フラッシュメモリ１２０は図４に示すようにＡ個（Ａは自然数）の物理ブロックより構成される。物理ブロックは消去の単位であり、本実施の形態では、Ａ個の物理ブロックに対して０〜（Ａ−１）の物理ブロック番号ＰＢＮを付している。物理ブロック番号０〜Ｂ−１（Ｂは、Ｂ＜Ａを満たす自然数）のＢ個の物理ブロックをメモリの第１領域１２０−１、物理ブロック番号Ｂ〜（Ａ−１）の（Ａ−Ｂ）個の物理ブロックをメモリの第２領域１２０−２とする。そしてフラッシュメモリ１２０の第１領域１２０−１に、ホスト機器２００から転送されるユーザデータを記録し、第２領域１２０−２に論物変換テーブル１１５等のシステムデータを記録する。ＦＡＴ等のファイルシステムは、ユーザデータと共に第１領域１２０−１に書き込まれる。【００４４】
フラッシュメモリは、記録済みのページに上書きすることはできず、書き換え回数の制限があるといった特徴がある。ホスト機器２００から与えられる論理ブロック番号は０〜（Ｂ−ｍ）（ｍは１以上の自然数）とし、論理ブロック数より論理ブロックに対応するメモリの第１領域１２０−１の物理ブロック数を多く割り当てる。これにより、記録済みの論理ブロックを書き換える場合において、当該論理ブロックに対応して記録されている物理ブロックとは別の物理ブロックに記録することが可能となる。よって、ホスト機器から同一の論理ブロックに集中してライトコマンドが発行された場合においても、論物変換テーブルによって論理ブロック番号と物理ブロック番号を対応づけることにより、書き換えが同一の物理ブロックに集中することを防止している。【００４５】
また図５に示すように、各物理ブロックはＮ個（Ｎは自然数）のページによって構成され、各ページには０〜（Ｎ−１）のページ番号ＰＰＮが付される。ページはデータ記録の単位であり、物理ブロックには各ページ毎にデータを記録することができる。例えば、論物変換テーブル１１５のデータサイズが１ページに相当する場合は、同一物理ブロックにＮ回論物変換テーブルを記録することができる。【００４６】
図６は論物変換テーブル１１５の一例であり、論理ブロック番号０の論理ブロックが物理ブロック番号３の物理ブロックに、論理ブロック番号１の論理ブロックが物理ブロック番号６の物理ブロックにマッピングされていることを示している。また論理ブロック番号Ｌ及び（Ｌ＋１）の論理ブロックは、無効の番号Ａが記録されており、データが書かれていないことを示している。【００４７】
図７は無効ブロック管理テーブル１１６の一例であり、各物理ブロックの使用状態を示す。使用状態が１の物理ブロックは使用中であって、有効なデータが書き込まれていることを示す。又使用状態が０の物理ブロックは無効ブロックであり、無効のデータが書き込まれている場合、及び消去済みブロックの場合があるが、いずれであっても新たに記録に用いることができるブロックである。【００４８】
以下、ブロック管理部１１４の動作について詳細に説明する。ブロック管理部１１４は、論物変換テーブル１１５と、無効ブロック管理テーブル１１６を更新しながら半導体記録装置全体のブロック管理を実施している。ブロック管理部１１４は、無効ブロック管理テーブル１１６を以下のように制御する。
（ステップ１）電源が供給されると、テーブル１１６の全ブロックを無効状態に初期化する。
（ステップ２）不良ブロックをテーブル１１６上で使用済みに更新する。不良ブロックの管理は発明の本質から外れるので詳細な説明はしないが、フラッシュメモリの固定位置に記録しておく。
（ステップ３）論物変換テーブル１１５を読み取り、使用されている物理ブロックをテーブル１１６上で使用済みに更新する。
（ステップ４）記録済みの論理ブロックを書き換えるときは、テーブル１１６より無効ブロックを選択し、選択された無効ブロックにデータを記録する。そして選択されたブロックを使用済みブロックに、当該論理ブロックに対応していた直前の物理ブロックを無効ブロックに更新する。【００４９】
上記のように、ブロック管理部１１４は電源供給時に無効ブロック管理テーブル１１６を作成する。そして新たな物理ブロックに記録する場合は、テーブル１１６より直前に記録されたブロックのポインタから順番に消去可能なブロックを新規ブロックとして割り当てるとともに、テーブル１１６を更新する。【００５０】
図８Ａはある時点での論物変換テーブル１１５、図８Ｂは図８Ａの状態からＬ番の論理ブロックにデータを記録した後のテーブル１１５、図８Ｃは図８Ｂの状態から（Ｌ＋１）番の論理ブロックにデータを記録した後のテーブル１１５を示す。【００５１】
次に論物変換テーブル１１５を格納する物理ブロックについて説明する。図９Ａ，図９Ｂは論物変換テーブル１１５を格納する物理ブロックの状態遷移を示す図であり、ハッチングが施されたページは記録済みのページを示している。【００５２】
本実施の形態では、論物変換テーブルは、フラッシュメモリの第２領域１２０−２の最終、即ち物理ブロック番号（Ａ−１）の物理ブロックの先頭ページから順番に１ページごとに記録されるとする。図９Ａの（ａ）は物理ブロック番号（Ａ−１）の物理ブロックに、ページ０〜ページ（Ｎ−２）までの（Ｎ−１）個の論物変換テーブルが記録済みであり、最新の論物変換テーブルが（Ｎ−２）番のページに格納されていることを示している。又ページ（Ｎ−１）は未記録である。図８Ａに図示した論物変換テーブル１１５はページ（Ｎ−２）に記録されているものとする。【００５３】
この状態で、ホスト機器２００がＬ番の論理ブロックに対してライトコマンドを発行した場合の動作について、図８Ａ〜図１０Ａ，図１０Ｂを参照して説明する。現在の論物変換テーブルは図８Ａであり、Ｌ番の論理ブロックには無効を示す「Ａ」が書かれており、物理ブロックは割り当てられていない。よって、ブロック管理部１１４は無効ブロック管理テーブル１１６を参照して無効ブロックサーチを行う。現在の無効ブロック管理テーブル１１６は図７に示す状態であり、（Ｂ−１）番の物理番号の物理ブロックがサーチされたとする。ブロック管理部１１４は、論理ブロック番号Ｌの論理ブロックに、物理ブロック番号（Ｂ−１）番の物理ブロックを割り当て、論物変換テーブル１１５を図８Ｂに示すように更新する。フラッシュ制御部１１８は更新された論物変換テーブル１１５を物理ブロック番号（Ａ−１）番の物理ブロックの（Ｎ−１）番のページに記録する。この記録により、図９Ａの状態（ｂ）に遷移する。【００５４】
さらにホスト機器２００が（Ｌ＋１）番の論理ブロックにライトコマンドを発行した場合について説明する。図８Ｂに示す現在の論物変換テーブル１１５は、（Ｌ＋１）番の論理ブロックには無効を示すＡが書かれており、物理ブロックが割り当てられていない。よって、ブロック管理部１１４は無効ブロックサーチを行う。無効ブロックサーチにより物理ブロック番号１がサーチされると、論理ブロック番号（Ｌ＋１）の論理ブロックに、物理ブロック番号１の物理ブロックを割り当て、論物変換テーブル１１５を図８Ｃに示すように更新する。フラッシュ制御部１１８は更新された論物変換テーブルをフラッシュメモリ１２０に書き込む。図９Ａに（ｂ）で示すように、論物変換テーブルに割り当てられた物理ブロック番号（Ａ−１）の物理ブロックは全てのページが記録済みである。この場合、ブロック管理部１１４は、フラッシュメモリ１２０の第２領域において、（現物理ブロック番号−１）の物理ブロックを新物理ブロックとして抽出する。この場合は図９Ｂに示すように、物理ブロック番号（Ａ−２）の物理ブロックのページ０に、図８Ｃで示す最新の論物変換テーブルを記録する。こうすれば少なくとも最新の論物変換テーブルとその直前まで有効であった論物変換テーブルがフラッシュメモリ１２０に保持されているため、必要であればその直前の状態に戻ることができる。【００５５】
次に論理フォーマットと、その後の論物変換テーブルの初期化について説明する。ＦＡＴシステムの論理フォーマットは、ホスト機器２００より新たなＦＡＴテーブルを半導体記録装置１００に記録することによって実施される。ＦＡＴテーブルの論理アドレス上の記録位置は例えば論理ブロック番号０のようにあらかじめ定められている。【００５６】
ホスト機器において、ＦＡＴテーブルの位置は論理ブロックの０番に割り当てられている場合、コマンド解析部１１２内の論理フォーマット検出部１１３は、論理ブロックの０番にＦＡＴテーブルであることを示す所定のデータが記録されていることを検出する。論理フォーマット検出部１１３は論理フォーマットがなされたことを検出すると、検出信号が論物変換テーブル初期化部１１７に与えられる。【００５７】
次に、論物変換テーブル初期化部１１７の動作について説明する。論物変換テーブル１１５の初期化は、ＦＡＴテーブルが記録された論理ブロック番号の０番を除いて全論理ブロックに対応する物理ブロックを無効ブロックＡとすることにより実行する。図８Ｃに示すテーブル１１５が図９Ｂに示すように書き込まれている状態で初期化されたとする。この場合の論物変換テーブル１１５を図１０Ａに、この論物変換テーブルが記録される物理ブロック番号（Ａ−２）の状態を図１０Ｂに示す。【００５８】
図１０Ａに示すように、初期化後の論物変換テーブル１１５は、ＦＡＴテーブルを記録した論理ブロック番号０を除く全ての論理ブロックに対応する物理ブロック番号はＡ（無効ブロック）になる。このように、フラッシュメモリの第１領域のＦＡＴテーブルを保持したブロック以外の全論理ブロックに対応する物理ブロックを無効ブロックにすることによって、無効ブロック管理テーブル１１６で管理しているフラッシュメモリ１２０の第１領域のほぼ全ての物理ブロックは、不良ブロックを除いて使用可能状態になる。こうして初期化された論物変換テーブルは、直前に論物変換テーブルを格納していた物理ブロックの次のページの位置に、図１０Ｂに矢印で示すように記録される。【００５９】
次に、論理フォーマット直後に論物変換テーブルを初期化し、全論理ブロックに記録した後に、論理フォーマットと、先頭の論理ブロックから最大の論理ブロック番号の半分の論理ブロック番号までの記録とを繰り返し実施した場合の動作について、説明する。本動作は、発明が解決しようとする課題で説明したように、以下のシーケンスで実施される。
シーケンス０  初期状態
シーケンス１  メモリカードを論理フォーマット
シーケンス２  論物変換テーブルの初期化
シーケンス３  メモリカードの全容量分を記録
シーケンス４  メモリカードに記録されたコンテンツをサーバにアップロード
シーケンス５  メモリカードを再論理フォーマット
シーケンス６  論物変換テーブルの初期化
シーケンス７  メモリカードの半分の容量分だけ記録
シーケンス８  メモリカードに記録されたコンテンツをサーバにアップロード
シーケンス９  メモリカードを再論理フォーマット
シーケンス１０  論物変換テーブルの初期化
シーケンス１１  メモリカードの半分の容量分だけ記録
シーケンス１２  メモリカードに記録されたコンテンツをサーバにアップロード
以下、シーケンス９〜シーケンス１２を繰り返す。【００６０】
次に各シーケンスが実行されたときの半導体メモリの物理ブロックの状態について説明する。ここでも物理ブロックの状態を
Ｅ  消去済みブロック
Ｗ  書き込み済みであり、消去不可であるブロック
Ｉ  書き込み済みであるが、消去可能なブロック
で分類している。【００６１】
シーケンス０におけるメモリカードのフラッシュメモリ１２０の状態を図１１に（ａ）で示す。シーケンス１において、図１１に（ｂ）で示すように最初の物理ブロックにＦＡＴテーブルを書き込み、書き込み済ブロックＷとする。論理フォーマットした後には、シーケンス２において論物変換テーブルを初期化する。最初の状態では全ては消去されているので変化はない。その後シーケンス３においてメモリカードの全容量分を記録したときには、図１１に（ｃ）で示すように第１領域のうち転送された全ての論理ブロックに対する物理ブロックが書き込み済みＷとなる。【００６２】
シーケンス４によって記録されたデータをサーバにアップロードする。次いでシーケンス５では、ホスト機器２００は再フォーマットのため新たなＦＡＴを転送する。半導体記録装置１００はＦＡＴを図１１に（ｃ）で示す消去済みブロックＥに記録する。この記録された物理ブロックを以前に記録した領域と区別するためＷ１とする。以前に記録されていたＦＡＴは不要なので、ＦＡＴを記録していた物理ブロックは消去可能ブロックＩとする。図１１に（ｄ）で示す状態はシーケンス５の後の状態を示す。図１１に（ａ）から（ｄ）に示す物理ブロックの状態は、第２領域１２０−２が加わっていること以外は従来の場合と同一である。【００６３】
シーケンス６ではコマンド解析部１１２の論理フォーマット検出部１１３は論理ブロック０に対するＦＡＴが再び記録されたことを検出し、論物変換テーブル初期化部１１７に検出信号を出力する。これによって論物変換テーブル初期化部１１７は論物変換テーブル１１５を初期化する。初期化された論物変換テーブルはフラッシュ制御部１１８を介してフラッシュメモリ１２０に書き込まれる。この論物変換テーブルの初期化により、図１２に（ａ）で示すように、物理ブロックＷの領域は消去可能な物理ブロックＩとなる。【００６４】
シーケンス７では、半導体記録装置１００は図１２に（ａ）で示す消去ブロックＥと消去可能なブロックＩにデータを記録する。本実施の形態において、データを書き込むべき新物理ブロックの選択は、直前に選択された物理ブロックのポインタを1個ずつ増加させることによって実施する。シーケンス６の終了時に、ＦＡＴを記録した物理ブロックを示すポインタの次の物理ブロックから順番に新ブロックを選択していく。上記のアルゴリズムで、データを記録する論理ブロックに順番に空き物理ブロックを対応づけていきながら書き込み、全容量の半分まで記録する。ここで記録された領域もＷ１で表す。これによりフラッシュメモリ１２０は図１２に（ｂ）で示す状態となる。【００６５】
シーケンス８では記録した内部コンテンツをサーバにアップロードする。次いでシーケンス９ではＦＡＴを書き込むため、図１２に（ｂ）で示す消去可能ブロックＩから記録する物理ブロックを選択する。選択のアルゴリズムは、シーケンス５と同様である。よって、シーケンス７で最後に記録されたブロックの次のブロックから順次ＦＡＴが記録される。新たに記録した領域の物理ブロックは、以前に記録した領域と区別するため物理ブロックをＷ２と記す。以前にＦＡＴが記録されていた物理ブロックは消去可能ブロックＩとなる。ＦＡＴの記録後の状態を図１２に（ｃ）で示す。【００６６】
シーケンス１０では、コマンド解析部１１２の論理フォーマット検出部１１３は論理ブロック０に対するＦＡＴが再び記録されたことを検出し、論物変換テーブル初期化部１１７に検出信号を出力する。これによって論物変換テーブル初期化部１１７は論物変換テーブル１１５を初期化する。初期化された論物変換テーブルはフラッシュ制御部１１８を介してフラッシュメモリ１２０に書き込まれる。図１２に（ｃ）で示す状態において書き込み済みであった物理ブロックＷ１は、消去可能な物理ブロックＩとなる。この状態を図１２に（ｄ）で示す。【００６７】
シーケンス１１では、図１２に（ｄ）で示す消去可能なブロックＩにデータが記録される。この場合も半導体記録装置１００はシーケンス１０の終了時に、ＦＡＴを記録した物理ブロックを示すポインタの次の物理ブロックから順番に新ブロックを選択し、データを記録する論理ブロックに順番に空き物理ブロックを対応づけていきながら書き込み、全容量の半分まで記録する。これによりフラッシュメモリ１２０は図１３に（ａ）で示す状態となる。【００６８】
シーケンス１２では記録した内部コンテンツをサーバにアップロードする。次いでシーケンス９ではＦＡＴを書き込むため、図１３に（ａ）で示す消去可能ブロックＩから記録する物理ブロックを順次選択する。よって、シーケンス１１で最後に記録されたブロックの次のブロックから順次ＦＡＴが記録される。新たに記録した領域の物理ブロックは、以前に記録した領域と区別するため物理ブロックをＷ３と記す。以前に記録されていたＦＡＴは消去可能ブロックＩとなる。ＦＡＴの記録後の状態を図１３に（ｂ）で示す。論理ブロックの記録は、シーケンス９における最終記録ブロックの次のブロックから順番に割り当てられ記録される。こうしてシーケンス９〜１２の処理を繰り返す。【００６９】
このように、最初に全容量分記録した後に、論理フォーマット、即ちＦＡＴ部の初期化に加え、論物変換テーブルの初期化を行い、半分の容量まで記録するタスクを繰り返して行った場合、ファイルシステムで発行されるアドレスは全論理アドレスの内半分の論理アドレスしか発行されなくても、半導体記録装置の第１領域の全物理ブロックに均等に書き込むことができる。【００７０】
尚、上記説明では、論理ブロックに対する物理ブロックの割当ては、直前に記録されたブロックのポインタから順番に消去可能ブロックを選択する方式で説明したが、消去可能なブロック及び消去済みブロックを記録する順番はランダムであっても同様の効果が得られることはいうまでもない。【００７１】
また、大容量の半導体記録装置において、論物変換テーブルのデータ量が多い場合は、論物変換テーブルの初期化も無視できない時間を要する。そこで論物変換テーブルをＫ個（Ｋは２以上の自然数）の部分領域に分割してもよい。そして論理フォーマットを実行するときに、論物変換テーブル初期化部が少なくとも１個の部分領域の論物変換テーブルを初期化し、物理ブロックの一部を無効ブロックとするようにしてもよい。こうすれば論物変換テーブルの初期化にかかる時間を短縮することができる。【００７２】
このとき、Ｋ個の論物変換テーブルのうち初期化する論物変換テーブルの選択法は、順番であってもランダムであっても、同様の効果が得られることはいうまでもない。【００７３】
尚前述した実施の形態においては、コマンド解析部１１２内に論理フォーマットのコマンドが与えられ、論理フォーマットが実行されたことを検出する論理フォーマット検出部１１３を設けている。これに代えて、ホスト機器から論理フォーマットのコマンドを送出した後、又はこのコマンドの送出に先立って、論物変換テーブルの初期化コマンドをホスト機器から発行するようにしてもよい。例えばホスト機器が論理フォーマットする場合には、ＦＡＴテーブルを初期化する直前または直後に論物変換テーブル初期化コマンドをホスト機器から発行し、論物変換テーブルの初期化を実施する。この場合には、ホスト機器に論物変換テーブルの初期化コマンドを発行する機能が必要となるが、コマンド解析部内に論理フォーマット検出部を設ける必要はなくなる。【００７４】
以上、説明したように、本実施の形態の半導体記録装置、半導体記録装置システムによれば、全容量を記録した後に、論理フォーマットと一部の記録容量までの記録を繰り返し実施した場合、一部の物理ブロックしか更新されないため、書き換え回数が一部の物理ブロックに集中するという従来の課題を解決することができる。【００７５】
また、特許文献２に示す従来の半導体記録装置で書き換え回数を求めた場合の書き換え回数の誤差を大幅に削減できる。さらに、全ブロックを消去する物理フォーマットと同等の効果が得られ、実行する時間が長いという物理フォーマットの課題を解決することができる。【００７６】
尚この実施の形態では半導体メモリとしてフラッシュメモリについて説明しているが、本発明は書き換え回数が制限されている種々の半導体メモリに適用することができる。
【産業上の利用可能性】
【００７７】
本発明の半導体記録装置、半導体記録装置システムは、不揮発性メモリのブロックの書き換え回数が略均等に制御できるので、書き換え回数の少ない多値フラッシュメモリを使用し、頻繁に大容量のデータを記録する映像記録分野の使用に特に好適である。
【図１】
0005491201.tif 000002
【図２】
0005491201.tif 000003
【図３】
0005491201.tif 000004
【図４】
0005491201.tif 000005
【図５】
0005491201.tif 000006
【図６】
0005491201.tif 000007
【図７】
0005491201.tif 000008
【図８Ａ】
0005491201.tif 000009
【図８Ｂ】
0005491201.tif 000010
【図８Ｃ】
0005491201.tif 000011
【図９Ａ】
0005491201.tif 000012
【図９Ｂ】
0005491201.tif 000013
【図１０Ａ】
0005491201.tif 000014
【図１０Ｂ】
0005491201.tif 000015
【図１１】
0005491201.tif 000016
【図１２】
0005491201.tif 000017
【図１３】
0005491201.tif 000018