(57)【要約】【課題】  フラッシュメモリに書替えが発生した場合でも、アクセス時間が長くなることを防止する。【解決手段】  フラッシュメモリ２を備えるフラッシュメモリシステム１に、重ね書き可能な不揮発性メモリのＦＲＡＭ４を設け、フラッシュメモリ２のアクセスの管理で用いる管理情報をＦＲＡＭ４に保存している。ホストシステム２０から与えられる論理アドレスとフラッシュメモリ２上の物理アドレスとを変換するアドレス変換テーブルをＦＲＡＭ４に保存することにより、ＦＲＡＭ４上のアドレス変換テーブルの一部を書替えるだけでよくなり、フラッシュメモリ２のアクセス時間が長くならない。【選択図】  図１
2005316793.tif 000002
【特許請求の範囲】
【請求項１】
ホストシステムから供給されるユーザデータを記憶するフラッシュメモリと、
前記フラッシュメモリに対する前記ユーザデータの書込み及び読出しを管理するための管理情報を作成する情報作成手段と、
前記管理情報を記憶する重ね書き可能な不揮発性メモリと、
前記重ね書き可能な不揮発性メモリに記憶された前記管理情報に基づき、前記フラッシュメモリに対するアクセスを制御するアクセス制御手段と、
を備えることを特徴とするフラッシュメモリシステム。
【請求項２】
前記管理情報には、前記ホストシステム側から前記アクセス時に与えられる論理アドレスを前記フラッシュメモリ上のアドレスに変換するアドレス変換テーブルが含まれていることを特徴とする請求項１に記載のフラッシュメモリシステム。
【請求項３】
前記管理情報には、前記フラッシュメモリの所定数のメモリセルでそれぞれ構成されてデータの消去単位となる複数のブロックのうちの該データが消去されている消去済みブロックを検索するためのテーブルが含まれていることを特徴とする請求項１又は２に記載のフラッシュメモリシステム。
【請求項４】
前記管理情報には、前記フラッシュメモリの所定数のメモリセルでそれぞれ構成されてデータの消去単位となる複数のブロックの該データの消去回数或いは書換回数をそれぞれ示す情報が含まれることを特徴とする請求項１乃至３のいずれか１項に記載のフラッシュメモリシステム。
【請求項５】
前記重ね書き可能な不揮発性メモリは、強誘電体メモリで構成されていることを特徴とする請求項１乃至４のいずれか１項に記載のフラッシュメモリシステム。
【請求項６】
前記重ね書き可能な不揮発性メモリは、前記管理情報を記憶するスタティックランダムアクセスメモリと、当該スタティックランダムアクセスメモリに記憶された管理情報をバックアップするバックアップ手段と、
を備えることを特徴とする請求項１乃至４のいずれか１項に記載のフラッシュメモリシステム。
【請求項７】
フラッシュメモリに対するユーザデータの書込み及び読出しを管理するための管理情報を重ね書き可能な不揮発性メモリに記憶させる処理と、
前記重ね書き可能な不揮発性メモリに記憶された前記管理情報に基づき、前記フラッシュメモリに対するアクセスを制御する処理と、
を行なうことを特徴とするフラッシュメモリの制御方法。
【請求項８】
前記管理情報には、前記アクセス時に与えられる論理アドレスを前記フラッシュメモリ上のアドレスに変換するアドレス変換テーブルが含まれていることを特徴とする請求項７に記載のフラッシュメモリの制御方法。
【請求項９】
前記管理情報には、前記フラッシュメモリの所定数のメモリセルでそれぞれ構成されてデータの消去単位となる複数のブロックのうちの該データが消去されている消去済みブロックを検索するためのテーブルが含まれていることを特徴とする請求項７又は８に記載のフラッシュメモリの制御方法。
【請求項１０】
前記管理情報には、前記フラッシュメモリの所定数のメモリセルでそれぞれ構成されてデータの消去単位となる複数のブロックの該データの消去回数或いは書換回数をそれぞれ示す情報が含まれることを特徴とする請求項７乃至９のいずれか１項に記載のフラッシュメモリの制御方法。
【請求項１１】
前記重ね書き可能な不揮発性メモリは、強誘電体メモリで構成されていることを特徴とする請求項７乃至１０のいずれか１項に記載のフラッシュメモリの制御方法。
【請求項１２】
前記重ね書き可能な不揮発性メモリは、前記管理情報を記憶するスタティックランダムアクセスメモリと、当該スタティックランダムアクセスメモリに記憶された管理情報をバックアップするバックアップ手段と、
を備えることを特徴とする請求項７乃至１０のいずれか１項に記載のフラッシュメモリの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリシステム及びフラッシュメモリの制御方法に関する。
【背景技術】
【０００２】
近年、メモリーカードやシリコンディスク等の形態でメモリシステムに使用される半導体メモリとして、フラッシュメモリが広く採用されている。フラッシュメモリに格納されたデータは、電力が供給されていないときでも保持されていることが要求される。
【０００３】
ＮＡＮＤ型フラッシュメモリは、上記のメモリシステムで特に多く用いられるフラッシュメモリである。
ＮＡＮＤ型フラッシュメモリに含まれている複数のメモリセルのそれぞれは、消去状態のときに論理値“１”を示し、書込み状態の時に“０”を示す。そして、複数のメモリセルは、他のメモリセルとは独立して消去状態から書込状態へと変化することができる。
【０００４】
これとは対照的に、書込状態から消去状態へと変化させるときには、各メモリセルは他のメモリセルと独立して変化させることができない。この書込状態から消去状態に変化させるときには、ブロックと称される予め定められた所定数のメモリセルを全て同時に消去状態にする。この一括消去動作は、一般的に、「ブロック消去」と称されている。ＮＡＮＤ型フラッシュメモリに対する書込処理若しくは読出処理は、ページと称される予め定められた数のメモリセル単位に処理が行なわれる。消去処理の単位であるブロックは複数のページで構成されている。
【０００５】
ＮＡＮＤ型フラッシュメモリは、上記ような特徴を有するため、データの書替を行なう場合には、ブロック消去されている消去済ブロックに新たなデータ（書替後のデータ）を書込み、古いデータ（書替前のデータ）が書込まれていたブロックを消去するという処理を行なっている。
【０００６】
従って、ホストシステム側から与えられるアドレスに基づく論理ブロックアドレスと、フラッシュメモリ内でのブロックアドレスである物理ブロックアドレスとの対応関係は、データを書替える毎に動的に変化する。この論理ブロックアドレスと物理ブロックアドレスとの対応関係は、通常、その対応関係を示したアドレス変換テーブルによって管理されている。
【０００７】
下記特許文献１では、このアドレス変換テーブルを、フラッシュメモリ内に保存し、必要なアドレス変換テーブルをランダムアクセスメモリ（以下、ＲＡＭという）にコピーして使用している。つまり、アドレス変換テーブルをＲＡＭにコピーし、論理ブロックアドレスを物理ブロックアドレスに変換する処理を、そのＲＡＭ上で行っている。
【特許文献１】特開２００１−１４２７７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
アドレス変換テーブルは、フラッシュメモリのアクセスを管理するために必要な管理情報の１つである。特許文献１では、必要なアドレス変換テーブルをその都度ＲＡＭにコピーしなければならなかった。
又、上記論理ブロックアドレスと物理ブロックアドレスとの対応関係は、データを書替える毎に変化するため、その変化に対応してアドレス変換テーブルも更新しなければならない。ところが、フラッシュメモリはデータの重ね書きができないので、ブロックごとにアドレス変換テーブルの全データを再度書込まなければならない。これらの理由により、アドレス変換テーブルに対するアクセス時間や更新処理時間が長くなり、フラッシュメモリに対するアクセス時間も長くなっていた。
【０００９】
本発明は、このような従来の問題を解決し、フラッシュメモリに対するアクセス時間を短くすることができると共に、管理情報の更新も早くできるフラッシュメモリシステム及びフラッシュメモリの制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の第１の観点に係るフラッシュメモリシステムは、
ホストシステムから供給されるユーザデータを記憶するフラッシュメモリと、
前記フラッシュメモリに対する前記ユーザデータの書込み及び読出しを管理するための管理情報を作成する情報作成手段と、
前記管理情報を記憶する重ね書き可能な不揮発性メモリと、
前記重ね書き可能な不揮発性メモリに記憶された前記管理情報に基づき、前記フラッシュメモリに対するアクセスを制御するアクセス制御手段と、
を備えることを特徴とする。
【００１１】
このような構成を採用したことにより、フラッシュメモリに対するユーザデータの書込み及び読出しを管理するための管理情報が情報作成手段により、作成されて不揮発性メモリに記憶される。そして、不揮発性メモリに記憶された管理情報に基づき、フラッシュメモリに対するアクセスが制御される。したがって、フラッシュメモリに対するアクセス時間を短くすることができる。
【００１２】
なお、前記管理情報には、前記ホストシステム側から前記アクセス時に与えられる論理アドレスを前記フラッシュメモリ上のアドレスに変換するアドレス変換テーブルが含まれてもよい。
【００１３】
また、前記管理情報には、前記フラッシュメモリの所定数のメモリセルでそれぞれ構成されてデータの消去単位となる複数のブロックのうちの該データが消去されている消去済みブロックを検索するためのテーブルが含まれていてもよい。
【００１４】
また、前記管理情報には、前記フラッシュメモリの所定数のメモリセルでそれぞれ構成されてデータの消去単位となる複数のブロックの該データの消去回数或いは書換回数をそれぞれ示す情報が含まれてもよい。
【００１５】
また、前記重ね書き可能な不揮発性メモリは、強誘電体メモリで構成されてもよい。
また、前記重ね書き可能な不揮発性メモリは、前記管理情報を記憶するスタティックランダムアクセスメモリと、当該スタティックランダムアクセスメモリに記憶された管理情報をバックアップするバックアップ手段と、
を備えてもよい。
【００１６】
上記目的を達成するために、本発明の第２の観点に係るフラッシュメモリの制御方法は、
フラッシュメモリに対するユーザデータの書込み及び読出しを管理するための管理情報を重ね書き可能な不揮発性メモリに記憶させる処理と、
前記重ね書き可能な不揮発性メモリに記憶された前記管理情報に基づき、前記フラッシュメモリに対するアクセスを制御する処理と、
を行なうことを特徴とする。
【００１７】
この場合、前記管理情報には、前記アクセス時に与えられる論理アドレスを前記フラッシュメモリ上のアドレスに変換するアドレス変換テーブルが含まれてもよい。
【００１８】
また、前記管理情報には、前記フラッシュメモリの所定数のメモリセルでそれぞれ構成されてデータの消去単位となる複数のブロックのうちの該データが消去されている消去済みブロックを検索するためのテーブルが含まれてもよい。
【００１９】
また、前記管理情報には、前記フラッシュメモリの所定数のメモリセルでそれぞれ構成されてデータの消去単位となる複数のブロックの該データの消去回数或いは書替回数をそれぞれ示す情報が含まれてもよい。
【００２０】
また、前記重ね書き可能な不揮発性メモリは、強誘電体メモリで構成されてもよい。
【００２１】
また、前記重ね書き可能な不揮発性メモリは、前記管理情報を記憶するスタティックランダムアクセスメモリと、当該スタティックランダムアクセスメモリに記憶された管理情報をバックアップするバックアップ手段と、
を備えてもよい。
【発明の効果】
【００２２】
本発明によれば、フラッシュメモリに対するユーザデータの書込み及び読出しを管理するための管理情報が不揮発性メモリに記憶される。そして、不揮発性メモリに記憶された管理情報に基づき、フラッシュメモリに対するアクセスが制御される。そのため、管理情報をフラッシュメモリから読出す必要もなく、その管理情報の更新を早く行なうことができる。したがって、フラッシュメモリにおけるアクセス時間を短縮できる。
【発明を実施するための最良の形態】
【００２３】
以下、図面に基づき、本発明の実施形態について説明する。
図１は、本発明の実施形態に係るフラッシュメモリシステム１を概略的に示す機能ブロック図である。
【００２４】
図１に示したようにフラッシュメモリシステム１は、ＮＡＮＤ型フラッシュメモリで構成されたフラッシュメモリ２と、フラッシュメモリ２を制御するメモリコントローラ３と、フラッシュメモリ２を制御するための管理情報を保存する強誘電体メモリ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ：以下、ＦＲＡＭという）４とで構成されている。
【００２５】
フラッシュメモリシステム１は、ホストシステム２０に着脱可能に装着されて使用され、ホストシステム２０の一種の外部記憶装置として用いられる。ホストシステム２０から与えられたユーザデータが、フラッシュメモリ２に格納される。フラッシュメモリ２のユーザデータの書込み及び読出しを管理するための管理情報がＦＲＡＭ４に記憶される。
【００２６】
尚、ホストシステム２０としては、文字、音声、或いは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとする各種情報処理装置が挙げられる。
【００２７】
フラッシュメモリ２は、ページ単位で読出し又は書込みを実行し、ブロック単位で消去を実行するデバイスである。
【００２８】
メモリコントローラ３は、ホストインターフェース制御ブロック５と、マイクロプロセッサ６と、ホストインターフェースブロック７と、ワークエリア８と、バッファ９と、内部インターフェースブロック１０と、ＥＣＣ（エラー・コレクション・コード）ブロック１１と、フラッシュメモリシーケンサブロック１２とから構成される。
【００２９】
これら機能ブロックによって構成されるメモリコントローラ３は、一つの半導体チップ上に集積されている。以下に各ブロックの機能を説明する。
マイクロプロセッサ６は、メモリコントローラ３を構成する各機能ブロック全体の動作を制御する機能ブロックである。
【００３０】
ホストインターフェース制御ブロック５は、ホストインターフェースブロック７の動作を制御する機能ブロックである。ここで、ホストインターフェース制御ブロック５は、ホストインターフェースブロック７の動作を設定する動作設定レジスタ（図示せず）を備えており、この動作設定レジスタに基づきホストインターフェースブロック７は動作する。
【００３１】
ホストインターフェースブロック７は、ホストシステム２０とデータ、アドレス情報、ステータス情報及び外部コマンド情報の授受を行なう機能ブロックである。すなわち、フラッシュメモリシステム１がホストシステム２０に装着されると、フラッシュメモリシステム１とホストシステム２０とは、外部バス１３を介して相互に接続される。この状態において、ホストシステム２０よりフラッシュメモリシステム１に供給されるデータ等は、ホストインターフェースブロック７を入口としてメモリコントローラ３の内部に取り込まれる。フラッシュメモリシステム１からホストシステム２０に供給されるデータ等は、ホストインターフェースブロック７を出口としてホストシステム２０に供給される。
【００３２】
さらに、ホストインターフェースブロック７は、ホストシステム２０より供給されるアドレス情報及び外部コマンドを一時的に保持するタスクファイルレジスタ（図示せず）及びエラーが発生した場合にセットされるエラーレジスタ（図示せず）等を有している。
【００３３】
ワークエリア８は、フラッシュメモリ２の制御に必要なデータが一時的に格納される作業領域であり、複数のスタティックランダムアクセスメモリ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：以下、ＳＲＡＭという）によって構成される機能ブロックである。
【００３４】
バッファ９は、フラッシュメモリ２から読出したデータ及びフラッシュメモリ２に書込むデータを一時的に保持する機能ブロックである。すなわち、フラッシュメモリ２から読出したデータは、ホストシステム２０の受取準備ができるまでバッファ９に保持され、フラッシュメモリ２に書込むデータは、フラッシュメモリ２の書込み準備ができるまでバッファ９に保持される。
【００３５】
フラッシュメモリシーケンサブロック１２は、内部コマンドに基づきフラッシュメモリ２の動作を制御する機能ブロックである。フラッシュメモリシーケンサブロック１２は、複数のレジスタ（図示せず）を備え、この複数のレジスタに内部コマンドを実行する際に必要な情報が設定される。この複数のレジスタに内部コマンドを実行する際に必要な情報が設定されると、フラッシュメモリシーケンサブロック１２は、その情報に基づいて処理を実行する。
【００３６】
ここで、「内部コマンド」とは、メモリコントローラ３からフラッシュメモリ２に与えられるコマンドであり、ホストシステム２０からフラッシュメモリシステム１に与えられるコマンドである「外部コマンド」とは区別される。
【００３７】
内部インターフェースブロック１０は、内部バス１４を介して、フラッシュメモリ２或いはＦＲＡＭ４とデータ、アドレス情報、ステータス情報、内部コマンド情報及びデバイスＩＤ情報等の授受を行なう機能ブロックである。尚、フラッシュメモリ２用のバスとＦＲＡＭ４用のバスについては、一部を共用（例えば、データバスを共用）しても、別々に設けてもよい。
【００３８】
ＥＣＣブロック１１は、フラッシュメモリ２に書込むデ―タに付加されるエラーコレクションコードを生成するとともに、フラッシュメモリ２から読出したデータに付加されたエラーコレクションコードに基づいて、読出したデータに含まれる誤りを検出・訂正する機能ブロックである。
【００３９】
次に、フラッシュメモリ２について説明する。
フラッシュメモリシステム１で、フラッシュメモリ２を構成するＮＡＮＤ型フラッシュメモリは、ストレージデバイスへの用途として(ハードディスクの代わりになるものとして)開発された不揮発性メモリである。このＮＡＮＤ型フラッシュメモリは、ランダムアクセスを行なうことができず、書込みと読出しはページ単位で、消去はブロック単位で行なわれる。又、データの上書きができないので、データを書込むときは、消去されている領域にデータの書込みを行なう。
【００４０】
フラッシュメモリ２は、このような特徴を有するため、通常、データの書替を行なう場合には、ブロック消去されている消去済ブロックに新たなデータ（書替後のデータ）を書込み、古いデータ（書替前のデータ）が書込まれていたブロックを消去するという処理を行なっている。このようなデータの書替えを行なった場合、書替後のデータは、書替前のデータと異なるブロックに書込まれる。
【００４１】
そのため、ホストシステム２０側から与えられるアドレスに基づく論理ブロックアドレスと、フラッシュメモリ２内でのブロックアドレスである物理ブロックアドレスとの対応関係は、データを書替える毎に動的に変化する。この論理ブロックアドレスと物理ブロックアドレスとの対応関係は、通常、その対応関係を示したアドレス変換テーブルによって管理されており、アドレス変換テーブルは、後述する対応論理ブロックアドレスに基づいて作成される。
【００４２】
上記ブロックの構成は、ＮＡＮＤ型フラッシュメモリの仕様によって異なる。
図２（ａ），（ｂ）は、ブロックとページの関係を示す説明図である。
一般的なＮＡＮＤ型フラッシュメモリでは、図２（ａ）に示したように、１ブロックが３２ページ（Ｐ００〜Ｐ３１）で構成され、各ページが５１２バイトのユーザ領域と１６バイトの冗長領域で構成されている。
又、記憶容量の増加に伴い、図２（ｂ）に示したように、１ブロックが６４ページ（Ｐ００〜Ｐ６３）で構成され、各ページが２０４８バイトのユーザ領域と６４バイトの冗長領域で構成されているものも提供されている。
この実施形態のフラッシュメモリ２では、１ブロックが３２ページ（Ｐ００〜Ｐ３１）で構成され、各ページを５１２バイトのユーザ領域と１６バイトの冗長領域で構成したものを用いる。
【００４３】
ユーザ領域は、主に、ホストシステム２０から供給されるデ―タが記憶される領域であり、冗長領域は、エラーコレクションコード、対応論理ブロックアドレス及びブロックステータス等の付加データが記憶される領域である。
【００４４】
エラ―コレクションコードとは、ユーザ領域に記憶されているデータに含まれる誤りを検出、訂正するための付加データであり、外部のＥＣＣブロック１１によって生成される。
【００４５】
対応論理ブロックアドレスは、そのブロックにデータが格納されている場合に、そのブロックがどの論理ブロックアドレスに対応するかを示している。尚、そのブロックにデータが格納されていない場合は、対応論理ブロックアドレスも格納されていないので、対応論理ブロックアドレスが格納されているか否かで、そのブロックが消去済ブロックであるか否かを判断することもできる。つまり、対応論理ブロックアドレスが格納されていない場合は、消去済ブロックであると判断される。
【００４６】
ブロックステータスは、そのブロックが不良ブロック（正常にデータの書込み等を行なうことができないブロック）であるか否かを示すフラグであり、そのブロックが不良ブロックであると判断された場合には、不良ブロックであることを示すフラグが設定される。
【００４７】
一般的なＮＡＮＤ型フラッシュメモリと同様に、フラッシュメモリ２は、書込みデータ若しくは読出しデータを保持するためのレジスタと、データを記憶するメモリセルアレイによって構成されている。メモリセルアレイは、複数のメモリセルが直列に接続されたメモリセル群を複数備えており、ワード線によってメモリセル群の特定のメモリセルが選択される。このワード線によって選択されたメモリセルとレジスタとの間で、データの複写（レジスタからメモリセルへの複写、若しくはメモリセルからレジスタへの複写）が行なわれる。
【００４８】
メモリセルアレイを構成するメモリセルは、２つのゲートを備えたＭＯＳトランジスタで構成されている。ここで、上側のゲートはコントロールゲートと呼ばれ、下側のゲートはフローティングゲートと呼ばれている。フローティングゲートに電荷（電子）を注入若しくはフローティングゲートから電荷（電子）を排出することによって、データの書込み若しくはデータの消去を行なっている。
【００４９】
このフローティングゲートは周囲を絶縁体で囲まれているので、注入された電子は長期間にわたって保持される。尚、フローティングゲートに電子を注入するときは、コントロールゲートが高電位側となる高電圧を印加して電子を注入し、フローティングゲートから電子を排出するときは、コントロールゲートが低電位側となる高電圧を印加して電子を排出する。
【００５０】
フローティングゲートに電子が注入されている状態（書込状態）が、論理値の“０”のデータに対応し、フローティングゲートから電子が排出されている状態（消去状態）が、論理値の“１”のデータに対応する。
【００５１】
次に、ＦＲＡＭ４について説明する。
ＦＲＡＭ４は、強誘電体膜の自発分極現象を利用したメモリであり、印加電界方向により反転する分極方向により、データを記憶している。メモリセルに強誘電体膜を採用することによって、データの不揮発特性を確保している。このＦＲＡＭ４には、フラッシュメモリ２にアクセスするための管理情報として、後述するアドレス変換テーブルや、消去済ブロック検索用テーブルや、ブロックの消去回数等が情報が保存される。マイクロプロセッサ６は、ワークエリア８を利用して管理情報を作成してＦＲＡＭ４に保存すると共に、その更新を適宜に実施する。
【００５２】
次に、フラッシュメモリ２に対するアクセスについて説明する。
フラッシュメモリ２内の複数のブロックでゾーンを構成し、フラッシュメモリ２に対するアクセスを制御する場合について説明する。
【００５３】
図３は、ゾーンの説明図であり、例えば、１０２４のブロックでゾーンを構成した例を示している。
フラッシュメモリ２では、例えば１０２４のブロックＢ００００〜Ｂ１０２３で１つのゾーンを構成している。各ブロックは、３２ページＰ００〜Ｐ３１で構成されている。前述したように、ブロックは消去処理の単位であり、ページは読出し及び書込み処理の単位である。尚、各ブロックの記憶容量や、各ブロックのページ数はフラッシュメモリ２の仕様によって異なる。
【００５４】
このゾーンは、一定範囲の論理ブロックアドレス空間に割当てられている。図４に示した例では、１０２４のブロックで構成されたゾーンを、１０００ブロック分の論理ブロックアドレスの空間に割当てている。ここで、ゾーンを構成するブロックが、２４ブロック分余計に割当てられているのは、不良ブロックの発生を考慮したためである。但し、データ書替の際に一旦別のブロックに新データを書込み、その後、旧データが書込まれていたブロックをブロック消去する場合には、新データを書込むための予備ブロックが必要なので、実質的には２３ブロック分が余計に割当てられていることになる。尚、ゾーンを構成するブロックの数は、フラッシュメモリシステム１の用途やフラッシュメモリ２の仕様に応じて適宜設定される。
【００５５】
各ゾーンに割当てられている１０００ブロック分の論理ブロックアドレスと、ゾーンを構成する各ブロックとの対応関係、つまり、論理ブロックアドレスと物理ブロックアドレスの対応関係を管理するため、各ブロックの冗長領域には、対応論理ブロックアドレスが書込まれる。この対応論理ブロックアドレスは、ホストシステム２０側から与えられる論理ブロックアドレスをそのまま書込んでもよいが、各ゾーンに割当てられた論理ブロックアドレス空間内での通番（各ゾーンを１０００ブロック分の論理ブロックアドレスの空間に割当てた場合は０〜９９９までの通番）を書込んでもよい（以下、各ゾーンに割当てられた論理ブロックアドレス空間内での通番を論理通番と言う）。
【００５６】
図４は、論理ブロックアドレスとゾーンを示す説明図である。
ここで、論理通番は、各ゾーンに応じたオフセットを加えれば、実際の論理ブロックアドレスに変換することができる。
例えば図４で、ゾーン０に割当てられた論理ブロックアドレス空間の先頭アドレスがＡＤＤ０の場合、各ゾーンには下記のようなオフセットが割当てられる。
【数１】
2005316793.tif 000003
【００５７】
次に、アドレス変換テーブルについて図面を参照して説明する。
フラッシュメモリシステム１のマイクロプロセッサ６は、ホストシステム２０側から与えられるアドレス情報に基づく論理ブロックアドレスを、フラッシュメモリ２内のブロックアドレスである物理ブロックアドレスに変換し、得られた物理ブロックアドレスに基づいてフラッシュメモリ２にアクセスしている。この際、論理ブロックアドレスから物理ブロックアドレスへの変換は、ＦＲＡＭ４に格納されたアドレス変換テーブルを用いて行なわれる。
【００５８】
アドレス変換テーブルは、各ゾーンに割当てられている論理ブロックアドレスとゾーンを構成するブロックとの対応関係を示したテーブルであり、マイクロプロセッサ６が、ワークエリア８を利用してゾーンごとに作成し、内部インターフェースブロック１０を介してＦＲＡＭ４の記憶領域に記憶（保存）させる。
【００５９】
図５は、アドレス変換テーブルの説明図である。
このアドレス変換テーブルでは、１０００ブロック分の論理ブロックアドレスに対応するブロックが、物理通番で示されている。物理通番とは、各ゾーン内で物理ブロックアドレスの順番で付けた通番（２進数：０００  ００００  ００００ｂ〜１１１  １１１１  １１１１ｂ）であり、各ゾーンに応じたオフセットを加えることにより、フラッシュメモリ内での実際の物理ブロックアドレスに変換することができる。
【００６０】
例えば、フラッシュメモリ２内のブロックをアドレス順でゾーン０からゾーンＮに割付けた場合、各ゾーンには数２のようなオフセットが割当てられる。
【数２】
2005316793.tif 000004
【００６１】
このアドレス変換テーブルを用いて論理ブロックアドレスを物理ブロックアドレスに変換するときは、ホストシステム２０側から与えられる論理ブロックアドレスの割当てられているゾーン（ゾーン０〜Ｎのいずれかのゾーン）を求め、そのゾーンに対応するアドレス変換テーブルを用いてアドレス変換処理を行なう。
【００６２】
このアドレス変換処理では、ホストシステム２０側から与えられる論理ブロックアドレスから求めた論理通番に対応する物理通番をアドレス変換テーブルから読出し、読出した物理通番を物理ブロックアドレスに変換する。
【００６３】
例えば、図５の例では、ホストシステム２０側から与えられた論理ブロックアドレスから求めた論理通番が“０”であれば、この論理通番に対応する物理通番は“９”（０００  ００００  １００１ｂ（２進数））になる。同様に、論理ブロックアドレスから求めた論理通番が“１”であれば、この論理通番に対応する物理通番は“２”（０００  ００００  ００１０ｂ（２進数））になる。この物理通番に、各ゾーンに割当てられているオフセットを加えることにより、論理ブロックアドレスを物理ブロックアドレスに変換することができる。
【００６４】
図５に示したアドレス変換テーブルを作成する場合、例えば、１０００ブロック分の物理通番を記述できる領域をＦＲＡＭ４上に確保する。この際、１０００ブロック分の領域を、論理通番の順番で、各論理通番に対応する物理通番を記述する領域として割当てる。ここで、更に、各論理通番に対応するデータが記憶されているか否かを判断するために、データが記憶されているか否かを示す情報を設定できるようにすることが好ましい。
【００６５】
例えば、特定のビットを、データが記憶されているか否かを示す情報に割当て、そのビットの論理値によってデータが記憶されているか否かを示すようにしてもよい。
【００６６】
このデータが記憶されているか否かを示す情報は、テーブル作成開始時に、データが記憶されていないことを示す値に初期設定される。その後、アドレス変換テーブルを作成するゾーン内の各ブロックの冗長領域を順次読出していき、冗長領域に論理通番が記述されていた場合には、アドレス変換テーブルにおいてその論理通番に対応する部分に、その論理通番が記述されていたブロックの物理通番を記述し、更に、データが記憶されていないことを示す情報を、データが記憶されていることを示す値に変更する。この処理を、ゾーンを構成する１０２４の各ブロックについて順次行なっていき、この処理が完了するとアドレス変換テーブルが完成する。
【００６７】
フラッシュメモリシステム１におけるデータの書替処理では、ブロック消去されている消去済ブロックに新たなデータ（書替後のデータ）を書込み、その後、古いデータ（書替前のデータ）が書込まれていたブロックを消去する。従って、論理ブロックアドレスと物理ブロックアドレスの対応関係（論理通番と物理通番の対応関係）は、データの書替処理を行なう毎に変化する。
【００６８】
データの書替処理が発生した場合、マイクロプロセッサ６は、アドレス変換テーブル上で対応関係が変化した部分をその都度、更新しなければならない。ここで、フラッシュメモリシステム１では、アドレス変換テーブルを重ね書き可能な不揮発性メモリであるＦＲＡＭ４上に作成しているので、対応関係が変化した部分だけを書換えることにより、アドレス変換テーブルを早く更新することができる。
【００６９】
次に、フラッシュメモリシステム１の信頼性を向上させるために行なわれるウェアレベリング（書換え回数平準化）について説明する。
このウェアレベリングでは、ある一定の書換回数に至ると、自動的に書換え回数の少ないフラッシュメモリ２の領域とデータ及びアドレスを入れ替え、局所的に書き込みが集中してフラッシュメモリチップが壊れやすくなることを回避する。従って、ウェアレベリングを行なう場合には、各ブロックの書替回数或いは消去回数を管理しなければならない。
【００７０】
フラッシュメモリシステム１では、フラッシュメモリ２内の各ブロックの消去回数を、重ね書き可能な不揮発性メモリであるＦＲＡＭ４上で記憶して管理している。
図６は、ＦＲＡＭ４に記憶された消去回数管理テーブルを示す説明図である。
【００７１】
フラッシュメモリ２内の各ブロックの消去回数を管理する消去回数管理テーブルには、各ブロックの消去回数が物理ブロックアドレスの順番で記述される。この消去回数管理テーブルは、各ブロックに対する消去処理が行なわれる毎に更新される。例えば、物理ブロックアドレス０のブロックに対して消去処理が行なわれた場合には、消去回数を００００００ＦＦｈ（１６進数）から０００００１００ｈ（１６進数）に更新する。
次に、消去済ブロックを検索するためのテーブルである消去済ブロック検索用テーブルについて説明する。
図７（ａ），（ｂ）は、消去済ブロック検索用テーブルの説明図である。
書替処理では、この消去済ブロック検索用テーブルで検索した消去済ブロックに、新たなデータ（書替後のデータ）が書込まれる。フラッシュメモリシステム１では、この消去済ブロック検索用テーブルを、重ね書き可能な不揮発性メモリであるＦＲＡＭ４上に作成している。
【００７２】
消去済ブロック検索用テーブルでは、ゾーンを構成する各ブロックをＦＲＡＭ４上の各ビットに対応させ、各ビットの論理値の“０”又は“１”で、データが書込まれている状態、又はデータが書込まれていない状態をそれぞれ示している。
【００７３】
ゾーンを構成する各ブロックとＦＲＡＭ４上の各ビットとの対応関係については、消去済ブロック検索用テーブル上のビットを、若番側から順に（図７（ａ）のように上の行から下の行へ、各行を左から右へ）物理通番の順番に対応させている。従って、消去済ブロック検索用テーブルの左上のビットが、物理通番０のブロックに対応し、右下のビットが、物理通番１０２３のブロックに対応する。各ビットの論理値については、データが書込まれている場合（又は不良ブロックであることを示すブロックステータスが記述されている場合）は、そのビットに“０”を、データが書込まれていない場合（消去済ブロックの場合）は、そのビットに“１”を設定している。
【００７４】
この消去済ブロック検索用テーブルは、アドレス変換テーブルを作成する際に一緒に作成することができる。
例えば、消去済ブロック検索用テーブルを作成するＦＲＡＭ４上の領域に“０”を設定しておき、各ブロックの冗長領域に対応論理ブロックアドレスも不良ブロックであることを示すブロックステータスも記述されていないときに、そのブロックに対応するビットに“１”を設定するようにすれば、アドレス変換テーブルを作成する際に一緒に作成することができる。
【００７５】
又、この消去済ブロック検索用テーブルの更新については、消去済ブロックにデータを書込んだときに、そのブロックに対応するビットを“１”から“０”に変更し、データが書込まれているブロックをブロック消去したときに、そのブロックに対応するビットを“０”から“１”に変更する。
【００７６】
この消去済ブロック検索用テーブルを用いて、消去済ブロックを検索する場合、物理通番０に対応するビット（図７（ｂ）の一番上の行の一番左のビット）から、物理通番１０２３に対応するビット（図７（ｂ）の一番下の行の一番右のビット）までを走査していき、消去済ブロックに対応する“１”のビットを検索する。
【００７７】
その結果、例えば走査の途中でテーブルで消去済ブロックに対応する“１”のビットが検出された場合、そこで検索を終了し、そのビットに対応する物理通番のブロックが、新たなデータ（書替後のデータ）が書込まれるブロックになる。次回の検索は、消去済ブロックとして検出された“１”のビットの次のビットから走査が開始される。その後も、同様の検索を続けていき、最期のブロックに相当するビットまで走査が進んだときは、最初のブロックに相当するビットに戻る。
【００７８】
以上説明したように、本実施形態に係るフラッシュメモリシステム１では、アドレス変換テーブル、消去回数管理テーブル及び消去済ブロック検索用テーブル等の管理情報を、重ね書き可能な不揮発性メモリのＦＲＡＭ４上に作成し、保存している。フラッシュメモリ２に対するアクセスは、これらの管理情報に基づいて行なわれる。管理情報の更新は、ＦＲＡＭ４上で直接行なうことができるので、管理情報の更新処理時間を短くすることができる。
【００７９】
尚、上記の説明では、重ね書き可能な不揮発性メモリとしてＦＲＡＭ４を用いている。ＦＲＡＭは、ＤＲＡＭセルにおいて電荷を保持されている誘電体キャパシタを強誘電体とすることで不揮発性を強化したものである。重ね書き可能な不揮発性メモリとしてＦＲＡＭ以外にも、熱によりアモルファス状態と結晶状態を切替えて抵抗値を変化させることで“１”と“０”とを記憶するＯＵＭ（Ｏｖｏｎｉｃ  Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｙ）や、強磁性トンネル磁気抵抗効果（ＴＭＲ：Ｔｕｎｎｅｌ  Ｍａｇｎｅｔｏ  Ｒｅｓｉｓｔａｎｃｅ）素子を用いて抵抗値の変化を論理値の“１”と“０”とに対応させるＭＲＡＭ（Ｍａｇｎｅｔｉｃ  ＲＡＭ）等が、使用できる。
【００８０】
さらに、ＦＲＡＭ４は、ＳＲＡＭにデータバックアップ用ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）を搭載したものや、ＳＲＡＭのデータを電池でバックアップしたもの（Ｂａｔｔｅｒｙ  Ｂａｃｋ  Ｕｐ  ＳＲＡＭ）であってもよい。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施形態に係るフラッシュメモリシステムを示す機能ブロック図である。
【図２】ブロックとページの関係を示す説明図である。
【図３】ゾーンの説明図である。
【図４】論理ブロックアドレスとゾーンを示す説明図である。
【図５】アドレス変換テーブルの説明図である。
【図６】ＦＲＡＭに記憶された消去回数管理テーブルを示す説明図である。
【図７】消去済ブロック検索用テーブルの説明図である。
【符号の説明】
【００８２】
１  フラッシュメモリシステム
２  フラッシュメモリ
３  メモリコントローラ
４  ＦＲＡＭ
５  ホストインターフェース制御ブロック
６  マイクロプロセッサ
７  ホストインターフェースブロック
８  ワークエリア
９  バッファ
１０  内部インターフェースブロック
１１  ＥＣＣブロック
１２  フラッシュメモリシーケンサブロック
１３  外部バス
１４  内部バス
２０  ホストシステム
【図１】
2005316793.tif 000005
【図２】
2005316793.tif 000006
【図３】
2005316793.tif 000007
【図４】
2005316793.tif 000008
【図５】
2005316793.tif 000009
【図６】
2005316793.tif 000010
【図７】
2005316793.tif 000011