(57)【要約】  アクセス装置１００側から不揮発性記憶装置２００に対して読み書きしたいファイルを指定してアクセスする。電源立ち上げ後の初期化処理において、空き容量検出部２６０が不揮発性メモリ２１０の空き容量パラメータを複数の領域に分割して検出する。空き容量パラメータ通知部２５０は空き容量パラメータを空き容量検出部２６０の空き容量の検出の都度、段階的にアクセス装置に通知する。これにより該空き容量がファイルデータの書き込みに必要な容量以上になった時点で、初期化処理の完了を待たずに不揮発性メモリ２１０に書き込むことができ、記録時のレスポンスを向上させることができる。
2008016081.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリに接続され、外部から指定されたファイルＩＤに従いファイルデータを前記不揮発性メモリに書き込み、前記不揮発性メモリからファイルデータを読み出すメモリコントローラであって、
前記不揮発性メモリの初期化中に初期化が完了した領域の前記不揮発性メモリの空き容量を検出する空き容量検出部と、
前記空き容量検出部が検出した空き容量に係る空き容量パラメータを段階的に外部に通知する通知部と、を具備するメモリコントローラ。
【請求項２】
前記空き容量検出部は、前記不揮発性メモリの分割された領域毎にその領域の空き容量パラメータを検出する請求項１に記載のメモリコントローラ。
【請求項３】
前記空き容量検出部は、前記不揮発性メモリの初期化中に初期化が既に終了した全ての領域の前記不揮発性メモリの空き容量を検出する請求項１に記載のメモリコントローラ。
【請求項４】
前記通知部は、
空き容量パラメータに加えて、初期化が終了した領域に記録されているファイルＩＤを外部に通知する請求項１に記載のメモリコントローラ。
【請求項５】
外部から指定されたファイルＩＤに従いファイルデータを書き込み、不揮発性メモリからファイルデータを読み出す不揮発性記憶装置であって、
前記不揮発性記憶装置は、
不揮発性メモリと、
メモリコントローラと、を具備し、
前記メモリコントローラは、
前記不揮発性メモリの初期化中に初期化が完了した領域の前記不揮発性メモリの空き容量を検出する空き容量検出部と、
前記空き容量検出部が検出した空き容量に係る空き容量パラメータを段階的に外部に通知する通知部と、を有する不揮発性記憶装置。
【請求項６】
前記空き容量検出部は、前記不揮発性メモリの分割された領域毎にその領域の空き容量パラメータを検出する請求項５に記載の不揮発性記憶装置。
【請求項７】
前記空き容量検出部は、前記不揮発性メモリの初期化中に初期化が既に終了した全ての領域の前記不揮発性メモリの空き容量を検出する請求項５に記載の不揮発性記憶装置。
【請求項８】
前記通知部は、
空き容量パラメータに加えて、初期化が終了した領域に記録されているファイルＩＤを外部に通知する請求項５に記載の不揮発性記憶装置。
【請求項９】
アクセス装置と、前記アクセス装置から指定されたファイルＩＤに従いファイルデータを書き込み、不揮発性メモリからファイルデータを読み出す不揮発性記憶装置とを有した不揮発性記憶システムであって、
前記不揮発性記憶装置は、
不揮発性メモリと、
メモリコントローラとを具備し、
前記メモリコントローラは、
前記不揮発性メモリの初期化中に初期化が完了した領域の前記不揮発性メモリの空き容量を検出する空き容量検出部と、
前記空き容量検出部が検出した空き容量に係る空き容量パラメータを段階的に外部に通知する通知部と、を有するものであり、
前記アクセス装置は、
前記不揮発性記憶装置から空き容量パラメータを受信する空き容量パラメータ受信部と、
前記空き容量パラメータ受信部で受信した空き容量パラメータに基づき、前記不揮発性記憶装置への書き込み可否判断を行うと共に、前記不揮発性記憶装置に対してファイルＩＤを指定することによりファイルデータを読み書きするアプリケーション部と、を有する不揮発性記憶システム。
【請求項１０】
前記空き容量検出部は、前記不揮発性メモリの分割された領域毎にその領域の空き容量パラメータを検出する請求項９に記載の不揮発性記憶システム。
【請求項１１】
前記空き容量検出部は、前記不揮発性メモリの初期化中に初期化が既に終了した全ての領域の前記不揮発性メモリの空き容量を検出する請求項９に記載の不揮発性記憶システム。
【請求項１２】
前記通知部は、
空き容量パラメータに加えて、初期化が終了した領域に記録されているファイルＩＤを外部に通知する請求項９に記載の不揮発性記憶システム。
【請求項１３】
アクセス装置と、前記アクセス装置から指定されたファイルＩＤに従いファイルデータを書き込み、前記不揮発性メモリからファイルデータを読み出す不揮発性記憶装置とを有する不揮発性記憶システムであって、
前記不揮発性記憶装置は、
不揮発性メモリと、
メモリコントローラとを具備し、
前記メモリコントローラは、
前記不揮発性メモリの初期化中に初期化が完了した領域の前記不揮発性メモリの空き容量を検出する空き容量検出部と、
前記空き容量検出部が検出した空き容量に係る空き容量パラメータを段階的に外部に通知する通知部と、を有するものであり、
前記アクセス装置は、
前記不揮発性記憶装置から空き容量パラメータを取得する空き容量パラメータ取得部と、
前記空き容量パラメータ取得部で取得した空き容量パラメータに基づき、前記不揮発性記憶装置への書き込み可否判断を行うとともに前記不揮発性記憶装置に対してファイルＩＤを指定することによりファイルデータを読み書きするアプリケーション部と、を有する不揮発性記憶システム。
【請求項１４】
前記空き容量検出部は、前記不揮発性メモリの分割された領域毎にその領域の空き容量パラメータを検出する請求項１３に記載の不揮発性記憶システム。
【請求項１５】
前記空き容量検出部は、前記不揮発性メモリの初期化中に初期化が既に終了した全ての領域の前記不揮発性メモリの空き容量を検出する請求項１３に記載の不揮発性記憶システム。
【請求項１６】
前記通知部は、
空き容量パラメータに加えて、初期化が終了した領域に記録されているファイルＩＤを外部に通知する請求項１３に記載の不揮発性記憶システム。
【請求項１７】
不揮発性メモリを有する不揮発性記憶装置と接続して使用するアクセス装置であって、
前記アクセス装置は、
前記不揮発性記憶装置から空き容量パラメータを受信する空き容量パラメータ受信部と、
前記空き容量パラメータ受信部で受信した空き容量パラメータに基づき、前記不揮発性記憶装置への書き込み可否判断を行うと共に、前記不揮発性記憶装置に対してファイルＩＤを指定することによりファイルデータを読み書きするアプリケーション部と、を具備するアクセス装置。
【請求項１８】
前記アクセス装置は、前記空き容量パラメータに基づいて前記不揮発性記憶装置の空き容量に係る情報を表示する表示部を更に備えた請求項１７に記載のアクセス装置。
【請求項１９】
不揮発性メモリを有する不揮発性記憶装置と接続して使用するアクセス装置であって、
前記アクセス装置は、
前記不揮発性記憶装置から空き容量パラメータを取得する空き容量パラメータ取得部と、
前記空き容量パラメータ取得部で取得した空き容量パラメータに基づき、前記不揮発性記憶装置への書き込み可否判断を行うとともに前記不揮発性記憶装置に対してファイルＩＤを指定することによりファイルデータを読み書きするアプリケーション部と、を具備するアクセス装置。
【請求項２０】
前記アクセス装置は、前記空き容量パラメータに基づいて前記不揮発性記憶装置の空き容量に係る情報を表示する表示部を更に備えた請求項１９に記載のアクセス装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリを備えた半導体メモリカード等の不揮発性記憶装置、これを制御するメモリコントローラ、前記不揮発性記憶装置をアクセスするアクセス装置、及び前記不揮発性記憶装置にアクセス装置を構成要件として加えた不揮発性記憶システムに関する。
【背景技術】
【０００２】
書き換え可能な不揮発性メモリを備える不揮発性記憶装置は、半導体メモリカードを中心にその需要が広まっている。半導体メモリカードは、光ディスクやテープメディアなどと比較して高価格なものではあるが、小型・軽量・耐震性・取り扱いの簡便さ等のメリットにより、デジタルスチルカメラや携帯電話などのポータブル機器の記録媒体としてその需要が広まっている。この半導体メモリカードは、不揮発性の主記憶メモリとしてフラッシュメモリを備え、それを制御するメモリコントローラを有している。メモリコントローラは、デジタルスチルカメラやパーソナルコンピュータ等のアクセス装置からの読み書き指示に応じて、フラッシュメモリに対する読み書き制御を行うものとなっている。【０００３】
このような半導体メモリカードはデジタルスチルカメラ等のアクセス装置に取り付けられる。アクセス装置側は半導体メモリカードをリムーバブルディスクと見なして例えばＦＡＴファイルシステム等のファイルシステムで管理する。ＦＡＴファイルシステムは、ファイル・アロケーション・テーブル（以下、ＦＡＴという）を用いてクラスタごとにファイルデータを管理し、半導体メモリカードなどの不揮発性記憶装置へファイルデータを書き込む際には、空きクラスタにファイルデータをアロケートし、さらに該ファイルデータと該ファイルデータがアロケートされたクラスタ番号（論理アドレス）とを不揮発性記憶装置に指定する。このようなＦＡＴファイルシステムを用いた不揮発性記憶システムは、例えば特許文献１に詳述されている。【０００４】
半導体メモリカードやポータブルオーディオなどの製品に内蔵されたフラッシュメモリは、記憶単位であるメモリセルアレイへの書き込みや消去に比較的長い時間を必要とするため、複数のメモリセルを一括して消去したり書き込んだりできる構造となっている。具体的には、複数の物理ブロックから構成され、各物理ブロックは複数のページを含み、消去は物理ブロック単位で、書き込みはページ単位で行われる。【０００５】
フラッシュメモリは、データの書き込み時に書き込み先の物理ブロックが不良ブロックになったり、あるいは書き換え回数に制限がある、といった信頼性上の課題がある。この課題に対応するために、メモリコントローラは不良が発生した物理ブロックの代替処理や、特定の物理ブロックへの書き換え集中を回避するためのウェアレベリング処理を行っている。メモリコントローラは、内部に物理領域管理テーブルや論物変換テーブルを備え、これらを用いてフラッシュメモリの物理アドレス管理を行う。このようなアドレス管理を簡便におこなうため、電源立ち上げ時の初期化処理において、メモリコントローラは、フラッシュメモリの記録状態を調べることにより、内部に備えられたＲＡＭに物理領域管理テーブルや論物変換テーブルを作成する。メモリコントローラは、テーブルの作成が完了した後にアクセス装置に対して初期化処理が完了したことを通知し、アクセス装置に対してファイルデータの読み書き指示を許可する。その後のアクセス装置からの読み書き指示においては、物理領域管理テーブルや論物変換テーブルを参照するだけで、簡便にフラッシュメモリへの書き込み先や読み出し元の物理アドレスが特定できるようになっている。【０００６】
特許文献２にはこの初期化処理の合理化技術が開示されている。特許文献２によれば、初期化処理の期間中に、フラッシュメモリの一部の領域に対応するテーブル作成が終了した段階でアクセス装置に初期化が一部終了したことを通知する。これにより、アクセス装置が直ちに処理ができる、あるいはカードにエラーが発生したと誤認識してしまうことを回避できる。
【特許文献１】特開２００１―１８８７０号公報
【特許文献２】特開２０００−９０００４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、このような不揮発性記憶システムにおいては、初期化処理が部分的に終了したことを通知した直後に、アクセス装置が書き込み要求とともに論理アドレスを不揮発性記憶装置に発行したとする。この場合、該論理アドレスに対応する初期化、すなわち該論理アドレスに対応する論物変換テーブル等の作成が未完了であれば、不揮発性記憶装置は未完了部分の論物変換テーブルの作成から始めることとなるので、アクセス装置の書き込み要求が待たされることとなる。特にアクセス装置が新規にファイルデータを書き込む際に通知した論理アドレス、すなわちファイルデータのアロケート先である空きクラスタに対応した論理アドレスが、フラッシュメモリの全領域に広範囲に分散している場合は、不揮発性メモリの全領域の初期化処理が必要となってしまう。そのため従来の不揮発性記憶システムでは、例えば、デジタルスチルカメラに不揮発性記憶装置を使用している場合において、電源立ち上げ直後から初期化処理全てが完了する間にシャッターチャンスを逃してしまうといった課題までは解決できない。なおアクセス装置の書き込み要求に対して不揮発性記憶装置側がすばやく書き込みを開始できる応答性のことを、記録時のレスポンスという。【０００８】
従来の不揮発性記憶システムが適用しているアクセス方式（以下、論理アドレスレベルアクセス方式という）の問題点について、特に記録時のレスポンスの向上が困難である点について、図１〜図７を用いて説明する。【０００９】
［バウンダリ一致型ファイルシステムの場合］
まず、図１と図２を用いて、バウンダリ一致型ファイルシステムを適用した不揮発性記憶システムについて説明する。図１は特許文献１に示されるＦＡＴファイルシステムを用いた不揮発性記憶システムを表す構成図、図２はバウンダリ一致型ファイルシステムを適用した不揮発性記憶システムにおける論理アドレス空間と物理アドレス空間との対応を示すメモリマップである。なお、簡単の為、クラスタサイズと物理ブロックサイズは共に１６ｋバイトとする。【００１０】
図２においてＣ１〜Ｃｎ−２はクラスタ番号ＣＮを示しており、Ｌ１〜Ｌｎは論理ブロック番号ＬＢＮであり、これらが論理アドレス空間ＬＡを構成する。論理ブロック番号とは、論理アドレス空間の先頭アドレスから物理ブロックサイズ（図２の例では１６ｋバイト）単位で連続的に付与された番号で、このうちＬ３−Ｌｎがファイルデータ領域が記録される論理アドレスとする。ＰＡは不揮発性メモリ１５の物理アドレス空間であり、通常領域とスペア領域を有している。物理ブロック番号Ｂ１〜Ｂｎ＋ｍは物理アドレス空間の先頭アドレスから物理ブロックサイズ（図２の例では１６ｋバイト）単位で連続的に付与された物理ブロック番号である。【００１１】
図２において、物理アドレス空間ＰＡ上の通常領域は、論理アドレス空間全体に対応するサイズを有しており、物理アドレス空間上のスペア領域は、該通常領域内の物理ブロックが不良となった場合、該物理ブロックの代替ブロックとして使用する領域である。なお、通常領域とスペア領域は物理的に固定されるものではなく、メモリコントローラ１４内の論物変換テーブルなどを用いた論物変換によって適宜物理位置が変化するものである。図面上は解りやすくするために分離して表記した。また通常領域やスペア領域以外にもセキュリティ関連情報などを記憶するシステム領域があるが、簡単のため省略する。【００１２】
さてバウンダリ一致型のファイルシステムとは、図２の一点鎖線で示すように、論理アドレス空間中の論理ブロック番号Ｌ３から始まるデータ領域の開始アドレスが、物理アドレス空間を構成する物理ブロックの境界（例えばＢ２とＢ３の境界）に一致するファイルシステムである。図２の番号１６はバウンダリを示している。通常物理ブロックサイズは論理アドレス空間の管理単位であるクラスタのサイズの整数倍（例えば１倍）となるので、任意の物理ブロックの境界はクラスタの境界と一致することとなる。バウンダリ一致型のファイルシステムは、例えばＳＤカード対応のデジタルスチルカメラ等に適用されている。【００１３】
アクセス装置１０内に備えられたアプリケーション１１から所望のファイルデータの書き込み指示があった場合、ファイルシステム１２は、図２に示す論理アドレス空間上のデータ領域の空きクラスタ（例えばＣ１，Ｃ２）に該ファイルデータをアロケートする。それを不揮発性記憶装置１３に書き込む際に、ファイルデータと該ファイルデータがアロケートされたクラスタに対応する論理ブロック番号とを不揮発性記憶装置１３に転送する。不揮発性記憶装置１３内のメモリコントローラ１４は論物変換処理により該論理ブロック番号を物理ブロック番号に変換し、例えばＢｎとＢ６に該ファイルデータを書き込む。このように、論理アドレスレベルアクセス方式においては、アクセス装置１０側が論理アドレス空間上の管理単位（クラスタ）毎にファイルデータのアロケート管理を行い、それに対応して不揮発性記憶装置１３側が物理アドレス空間上の管理単位（物理ブロック）毎に前記クラスタにアロケートされたファイルデータのマッピング管理を行う。なお「アロケート」や「マッピング」という名称は、ともに「管理単位へファイルデータを配置する」という意味において同一であるが、論理アドレス空間と物理アドレス空間の違いがあるので敢えて名称を区別した。【００１４】
論理アドレスレベルアクセス方式においては、不揮発性記憶装置１３を出荷後に最初に使用する時などにフォーマットを行う。具体的には、アクセス装置１０が不揮発性記憶装置１３から外部バスを介して論理アドレス空間全体のサイズ（図２ではｎ×１６ｋバイト）を取得し、アクセス装置１０が論理アドレス空間全体のサイズがｎ×１６ｋバイトとなるようにフォーマット処理を行う。この処理によって論理アドレス空間内に、管理領域やデータ領域を形成し、更にこれらの領域管理を行うファイルアロケーションテーブル（ＦＡＴ）などの管理情報を生成し、管理情報を不揮発性記憶装置１３に書き込む。【００１５】
電源立ち上げ時において、不揮発性記憶装置１３はアクセス装置１０に対してビジー状態であることを通知し、その後不揮発性メモリ１５の全物理アドレス空間の各物理ブロックの状態を調べることにより、物理領域管理テーブルや論物変換テーブルの作成処理を行う。これが完了するとアクセス装置１０に対してビジーを解除し、アクセス装置１０からのアクセス待ち状態に移行する。【００１６】
一方、アクセス装置１０は、不揮発性記憶装置１３がビジーを解除し初期化処理が完了したことを認識すると、ＦＡＴを不揮発性記憶装置１３から読み出し、ＦＡＴに基づき空きクラスタのサーチ等を行いファイルデータの書き込み準備を行う。【００１７】
不揮発性記憶装置１３の初期化処理において、物理領域管理テーブルや論物変換テーブルの作成処理が大半の時間を占める。特許文献２に示す不揮発性記憶システムは、この初期化時間を合理化するために、初期化処理の途中状況をアクセス装置１０に通知するようにしたものである。【００１８】
このような部分的な初期化処理として、例えば物理アドレス空間の通常領域のブロック数を６００００とし、物理ブロック番号１〜１５０００と、物理ブロック番号１５００１〜３００００と、物理ブロック番号３０００１〜４５０００と、物理ブロック番号４５００１〜６００００の４つの物理領域にわけて初期化することを考える。【００１９】
ここで物理ブロック番号１〜１５０００の初期化処理において見つけた空き物理ブロック番号がクラスタにどのように対応するかについて説明する。図３はクラスタと論理ブロックとの関係を示している。図４は論理ブロックと物理ブロックおよび物理ブロックのブロックステータスを示す。また図４は物理領域管理テーブルと論物変換テーブルが有する情報を含んだものである。図４の右欄のブロックステータスは通常物理領域管理テーブルが有する情報であり、簡単のため空き物理ブロックを識別するための１ビットのフラグのみとした。ブロックステータスが値０の物理ブロックは空き物理ブロックであり、値１の物理ブロックは有効なファイルデータが記憶された物理ブロックであるとする。なお、物理ブロック番号１〜１５０００に対応する物理ブロック、論理ブロックおよびクラスタには、ハッチングを施した。また（ｅ）は空きブロックを示す。【００２０】
図３および図４によれば、空き物理ブロックに対応するクラスタがどのクラスタであるかがわかる。物理ブロック番号が１〜１５０００に対応するクラスタ、すなわちハッチングが施されたクラスタの中で、対応する論理ブロックが空き状態（対応する物理ブロックのブロックステータスが値０の論理ブロック）のクラスタは、Ｃ３、Ｃ５、Ｃ７、Ｃ１１、Ｃ１３、・・・Ｃ５９９９６であり、これらのクラスタが空きクラスタとなる。なお物理ブロック番号１〜１５０００の領域の初期化が終了した時点において、ＦＡＴに基づいて全論理アドレス空間の空きクラスタの判別はつくが、図３においてハッチングを施していない空きクラスタ（例えばＣ１５）は、物理領域管理テーブルや論物変換テーブルがまだ作成されていないので、ファイルデータを不揮発性記憶装置１３に書き込むために該空きクラスタにファイルをアロケートしても、不揮発性記憶装置１３側で待たされることとなる。つまり、ファイルデータを即座に書き込むこのとのできる空きクラスタは、前述した通り、初期化処理が終了した物理ブロック番号１〜１５０００の領域に対応する空きクラスタすなわちハッチングを施した空きクラスタに限られる。【００２１】
このように、バウンダリ一致型のファイルシステムの場合は、物理ブロック境界がデータ領域の開始位置に対応するようにフォーマットされる。従って初期化処理で見つけた空き物理ブロック番号（ブロックステータスが値０のブロック）と、図４の論物変換テーブルに基づき、空き論理ブロック番号を特定し、該空き論理ブロック番号をアクセス装置１０に通知することにより、ファイルデータを即座に書き込める空きクラスタ番号を特定することができる。【００２２】
しかしそのためには、前述したとおり図４に示すような空き物理ブロック番号に対する空きクラスタ番号を関連づける情報を不揮発性記憶装置１３からアクセス装置１０に外部バスを介して転送する必要があるため、転送時間がかかってしまう。またアクセス装置１０と不揮発性記憶装置１３の両者ともに処理が煩雑になってしまう。【００２３】
［バウンダリ不一致型ファイルシステムの場合］
図５はバウンダリ不一致型ファイルシステムを適用した不揮発性記憶システムにおける論理アドレス空間と物理アドレス空間との対応を示すメモリマップである。バウンダリ不一致型のファイルシステムとは、図５の一点鎖線で示すように、論理アドレス空間中のデータ領域の開始アドレスが、物理アドレス空間を構成する物理ブロックの境界に一致しないファイルシステムである。これは、例えばパーソナルコンピュータ等に適用されているＦＡＴファイルシステムが該当する。バウンダリ不一致型のファイルシステムの場合は、前述したバウンダリ一致型のファイルシステムの説明において示した問題点に加え、空き物理ブロック番号がわかっても、それに基づいて空きクラスタ番号を正しく特定できないといった問題点がある。【００２４】
ここで物理ブロック番号１〜１５０００の初期化処理において見つけた空き物理ブロック番号がクラスタにどのように対応するかについて説明する。図６にクラスタと論理ブロックとの関係を示し、図７は論理ブロックと物理ブロックおよび物理ブロックのブロックステータスを示す。なお、物理ブロック番号１〜１５０００に対応する物理ブロック、論理ブロックおよびクラスタにはハッチングを施した。また図７は図４と同じ状態を例示している。【００２５】
図６および図７によれば、空き物理ブロックに対応するクラスタがどのクラスタであるかがわかる。物理ブロック番号が１〜１５０００に対応するクラスタ、すなわちハッチングが施されたクラスタにおいて、該クラスタを含む論理ブロックが空き状態となっているクラスタは図６の例では無いことがわかる。例えばＣ４においては、Ｃ４を含む論理ブロック番号はＬ５（空き）とＬ６であり、論理ブロック番号Ｌ６に対応するＣ４の後半部分が空きなのか有効ファイルデータがアロケートされているのかの判別がつかない。もしＣ４の後半部分に有効なファイルデータがアロケートされていた場合、Ｃ４に新たにファイルデータをアロケートしてしまうと、既にアロケートされている情報が消失してしまうので、Ｃ４は空きでは無いとして管理する必要がある。【００２６】
このように、バウンダリ不一致型のファイルシステムの場合は、物理ブロック境界がデータ領域の開始位置に対応するようにフォーマットされない。従って初期化処理で見つけた空き物理ブロック番号と、図７の論物変換テーブルに基づき、空き論理ブロック番号を特定し、該空き論理ブロック番号をアクセス装置１０に通知しても、ファイルデータを即座に書き込むこのとのできる空きクラスタ番号を正しく特定することができない。すなわち、ファイルデータを書き込むだけの空き物理ブロックが存在していても、ファイルデータを書き込むことができず、結果として記録時のレスポンスを向上させることが困難となる。【００２７】
以上述べたように、論理アドレスレベルアクセス方式は物理アドレス空間の状態を論理アドレス空間の状態に対応づける際に生じる問題点を有しているため、記録時のレスポンスを向上させることが困難である。【００２８】
そこで本発明は、上記問題点に鑑み、初期化処理全ての完了を待たずにアクセス装置の書き込みを可能にできる、すなわち記録時のレスポンスの優れたメモリコントローラ、不揮発性記憶装置、アクセス装置、および不揮発性記憶システムを提供することを目的とする。
【課題を解決するための手段】
【００２９】
この課題を解決するために、本発明のメモリコントローラは、不揮発性メモリに接続され、外部から指定されたファイルＩＤに従いファイルデータを前記不揮発性メモリに書き込み、前記不揮発性メモリからファイルデータを読み出すメモリコントローラであって、前記不揮発性メモリの初期化中に初期化が完了した領域の前記不揮発性メモリの空き容量を検出する空き容量検出部と、前記空き容量検出部が検出した空き容量に係る空き容量パラメータを段階的に外部に通知する通知部と、を具備するものである。【００３０】
この課題を解決するために、本発明の不揮発性記憶装置は、外部から指定されたファイルＩＤに従いファイルデータを書き込み、不揮発性メモリからファイルデータを読み出す不揮発性記憶装置であって、前記不揮発性記憶装置は、不揮発性メモリと、メモリコントローラと、を具備し、前記メモリコントローラは、前記不揮発性メモリの初期化中に初期化が完了した領域の前記不揮発性メモリの空き容量を検出する空き容量検出部と、前記空き容量検出部が検出した空き容量に係る空き容量パラメータを段階的に外部に通知する通知部と、を有するものである。【００３１】
この課題を解決するために、本発明の不揮発性記憶システムは、アクセス装置と、前記アクセス装置から指定されたファイルＩＤに従いファイルデータを書き込み、不揮発性メモリからファイルデータを読み出す不揮発性記憶装置とを有した不揮発性記憶システムであって、前記不揮発性記憶装置は、不揮発性メモリと、メモリコントローラとを具備し、前記メモリコントローラは、前記不揮発性メモリの初期化中に初期化が完了した領域の前記不揮発性メモリの空き容量を検出する空き容量検出部と、前記空き容量検出部が検出した空き容量に係る空き容量パラメータを段階的に外部に通知する通知部と、を有するものであり、前記アクセス装置は、前記不揮発性記憶装置から空き容量パラメータを受信する空き容量パラメータ受信部と、前記空き容量パラメータ受信部で受信した空き容量パラメータに基づき、前記不揮発性記憶装置への書き込み可否判断を行うと共に、前記不揮発性記憶装置に対してファイルＩＤを指定することによりファイルデータを読み書きするアプリケーション部と、を有するものである。【００３２】
この課題を解決するために、本発明の不揮発性記憶システムは、アクセス装置と、前記アクセス装置から指定されたファイルＩＤに従いファイルデータを書き込み、前記不揮発性メモリからファイルデータを読み出す不揮発性記憶装置とを有する不揮発性記憶システムであって、前記不揮発性記憶装置は、不揮発性メモリと、メモリコントローラとを具備し、前記メモリコントローラは、前記不揮発性メモリの初期化中に初期化が完了した領域の前記不揮発性メモリの空き容量を検出する空き容量検出部と、前記空き容量検出部が検出した空き容量に係る空き容量パラメータを段階的に外部に通知する通知部と、を有するものであり、前記アクセス装置は、前記不揮発性記憶装置から空き容量パラメータを取得する空き容量パラメータ取得部と、前記空き容量パラメータ取得部で取得した空き容量パラメータに基づき、前記不揮発性記憶装置への書き込み可否判断を行うとともに前記不揮発性記憶装置に対してファイルＩＤを指定することによりファイルデータを読み書きするアプリケーション部と、を有するものである。【００３３】
ここで前記空き容量検出部は、前記不揮発性メモリの分割された領域毎にその領域の空き容量パラメータを検出するようにしてもよい。【００３４】
ここで前記空き容量検出部は、前記不揮発性メモリの初期化中に初期化が既に終了した全ての領域の前記不揮発性メモリの空き容量を検出するようにしてもよい。【００３５】
ここで前記通知部は、空き容量パラメータに加えて、初期化が終了した領域に記録されているファイルＩＤを外部に通知するようにしてもよい。【００３６】
この課題を解決するために、本発明のアクセス装置は、不揮発性メモリを有する不揮発性記憶装置と接続して使用するアクセス装置であって、前記アクセス装置は、前記不揮発性記憶装置から空き容量パラメータを受信する空き容量パラメータ受信部と、前記空き容量パラメータ受信部で受信した空き容量パラメータに基づき、前記不揮発性記憶装置への書き込み可否判断を行うと共に、前記不揮発性記憶装置に対してファイルＩＤを指定することによりファイルデータを読み書きするアプリケーション部と、を具備するものである。【００３７】
この課題を解決するために、本発明のアクセス装置は、不揮発性メモリを有する不揮発性記憶装置と接続して使用するアクセス装置であって、前記アクセス装置は、前記不揮発性記憶装置から空き容量パラメータを取得する空き容量パラメータ取得部と、前記空き容量パラメータ取得部で取得した空き容量パラメータに基づき、前記不揮発性記憶装置への書き込み可否判断を行うとともに前記不揮発性記憶装置に対してファイルＩＤを指定することによりファイルデータを読み書きするアプリケーション部と、を具備するものである。【００３８】
ここで前記アクセス装置は、前記空き容量パラメータに基づいて前記不揮発性記憶装置の空き容量に係る情報を表示する表示部を更に備えるようにしてもよい。
【発明の効果】
【００３９】
本発明によれば、アクセス装置側から不揮発性記憶装置に対して読み書きしたいファイルの指定を行うアクセス方法に基づいたものであり、電源立ち上げ後の初期化処理において空き容量検出部が不揮発性メモリの空き容量を検出し、空き容量パラメータ通知部が該空き容量に係る空き容量パラメータを前記空き容量検出部の検出処理の途中段階でアクセス装置に通知するようにした。このため不揮発性メモリの全領域に対応する全空き容量の検出を待たずに、空き容量がファイルデータの書き込みに必要な容量以上になった時点でファイルデータを書き込むことができる。その結果、記録時のレスポンスを向上させることができる。
【図面の簡単な説明】
【００４０】
【図１】図１は論理アドレスレベルアクセス方式における不揮発性記憶システムを示すブロック図である。
【図２】図２はバウンダリ一致型ファイルシステムを適用した不揮発性記憶システムにおける論理アドレス空間と物理アドレス空間との対応を示すメモリマップである。
【図３】図３はバウンダリ一致型ファイルシステムを適用した不揮発性記憶システムにおいてクラスタと論理ブロックとの対応を示すメモリマップである。
【図４】図４はバウンダリ一致型ファイルシステムを適用した不揮発性記憶システムにおける論理ブロックと物理ブロック及びブロックステータスの対応を示すメモリマップである。
【図５】図５はバウンダリ不一致型ファイルシステムを適用した不揮発性記憶システムにおける論理アドレス空間と物理アドレス空間との対応を示すメモリマップである。
【図６】図６はバウンダリ不一致型ファイルシステムを適用した不揮発性記憶システムにおいてクラスタと論理ブロックとの対応を示すメモリマップである。
【図７】図７はバウンダリ不一致型ファイルシステムを適用した不揮発性記憶システムにおける論理ブロックと物理ブロック及びブロックステータスの対応を示すメモリマップである。
【図８Ａ】図８Ａは本発明の実施の形態における不揮発性記憶システムのアクセス装置を示すブロック図である。
【図８Ｂ】図８Ｂは本実施の形態における不揮発性記憶システムの不揮発性記憶装置を示すブロック図である。
【図９Ａ】図９Ａは空き容量の検出および空き容量パラメータの通知処理を示すフローチャートである。
【図９Ｂ】図９Ｂは空き容量の検出および空き容量パラメータの通知処理を示すフローチャートである。
【図１０】図１０は部分通知モードにおける空き容量パラメータの通知シーケンスを表す説明図である。
【図１１】図１１は物理領域管理テーブルを示すメモリマップである。
【図１２】図１２はマッピングテーブルを示すメモリマップである。
【図１３】図１３はアクセス装置の処理を示すフローチャートである。
【図１４】図１４はアクセス装置と不揮発性記憶装置間での通信手順の概要を表すタイムチャートである。
【図１５Ａ】図１５Ａはファイルデータを記録した物理ブロックの連結状態を表す説明図である。
【図１５Ｂ】図１５Ｂはファイルデータを記録した物理ブロックの連結状態を表す説明図である。
【図１６】図１６は累計通知モードにおける空き容量パラメータの通知シーケンスを表す説明図である。
【図１７】図１７は本発明の実施の形態の変形例による不揮発性記憶システムのアクセス装置を示すブロック図である。
【符号の説明】
【００４１】
１００  アクセス装置
１１０  インターフェイス
１１１  空き容量パラメータ受信部
１１２  空き容量パラメータ取得部
１２０  アプリケーション
１３０  ユーザインターフェイス
２００  不揮発性記憶装置
２１０  不揮発性メモリ
２２０  メモリコントローラ
２３０  インターフェイス
２４０  読み書き制御部
２４１  物理領域管理テーブル
２４２  マッピングテーブル
２５０  空き容量パラメータ通知部
２５１  通知部
２５２  空き容量パラメータ保持部
２６０  空き容量検出部
【発明を実施するための最良の形態】
【００４２】
本実施の形態においては、前述した論理アドレスレベルアクセス方式が有する問題点に対応するために、アクセス装置と不揮発性記憶装置間での異なるアドレス空間の対応付けを行うことを廃止した。そしてアクセス装置がファイルＩＤを指定し、不揮発性記憶装置が該ファイルＩＤに対応するファイルデータを不揮発性メモリの物理アドレス空間上にマッピングすることによって、物理アドレス空間の状態を論理アドレス空間の状態に対応づける際に生じる問題点が解決できることに着想した。なおこの方式を以降ファイルレベルアクセス方式とする。【００４３】
（実施の形態）
図８Ａは、本発明の実施の形態における不揮発性記憶システムのアクセス装置１００を示したブロック図であり、図８Ｂは不揮発性記憶装置２００を示す。不揮発性記憶システムは、アクセス装置１００と不揮発性記憶装置２００とを含んで構成される。アクセス装置１００は、インターフェイス（ＩＦ）１１０とアプリケーション１２０とユーザインターフェイス１３０を含んでいる。【００４４】
インターフェイス１１０は、ファイルデータの書き込みにおいてアプリケーション１２０から該ファイルデータのファイルＩＤと該ファイルデータを不揮発性記憶装置２００に転送したり、不揮発性記憶装置２００から読み出したファイルデータをアプリケーション１２０に転送するブロックである。インターフェイス１１０は揮発性記憶装置から空き容量パラメータを受信する空き容量パラメータ受信部１１１を備える。【００４５】
アプリケーション１２０は受信した空き容量パラメータに基づき、空き容量を算出してユーザインターフェイス１３０の表示部１３１に空き容量を表示する。アプリケーション１２０は更にユーザの記録再生操作に対応してファイルデータの読み書き制御を行うものである。なおファイルＩＤとはファイルを識別するための情報であり、本実施の形態においてはファイル番号とする。【００４６】
不揮発性メモリ２１０は、１物理ブロックのサイズが１６ｋバイトのフラッシュメモリであるとする。簡単の為に不良ブロックはないものとする。不揮発性メモリ２１０は例えば１Ｇバイトの容量を有し、不揮発性メモリ２１０の物理ブロックのサイズを１６ｋバイトとすると、アクセス装置１００が利用できる領域の物理ブロック数は、６５５３６ブロック個となる。ここでＰＢは物理ブロック番号を示し、不揮発性メモリ２１０はＰＢ１〜ＰＢ４０９６，ＰＢ４０９６〜ＰＢ８１９２，ＰＢ８１９３〜ＰＢ１２２８８及びＰＢ１２２８９〜ＰＢ６５５３６の４つの領域１〜４を有するものとする。【００４７】
また各物理ブロックは３２ページから構成されており、各ページは５１２バイト分のデータポーションと１６バイト分の管理ポーションとから構成される。先頭ページの管理ポーションには、該先頭ページにデータを書き込む際に、当該物理ブロックのブロックステータスとファイル番号および後述するポインタが書き込まれている。【００４８】
メモリコントローラ２２０はインターフェイス２３０、読み書き制御部２４０、空き容量パラメータ通知部２５０、空き容量検出部２６０を含む。【００４９】
インターフェイス２３０は、アクセス装置１００からファイルの書き込みや読み出しに係るファイルＩＤとファイルデータを受信したり、ファイルの読み出しにおいてはファイルデータをアクセス装置１００に送信するものである。【００５０】
読み書き制御部２４０は、揮発性ＲＡＭで構成される物理領域管理テーブル２４１とマッピングテーブル２４２を含む。物理領域管理テーブル２４１は物理ブロックの使用状態を示すメモリマップである。マッピングテーブル２４２はファイル番号に対する物理アドレスを示すテーブルである。読み書き制御部２４０はインターフェイス２３０が送受信するファイルデータの読み書きを制御し、ファイルＩＤに基づいて不揮発性メモリ２１０に対して読み書きを実行する。【００５１】
空き容量パラメータ通知部２５０は、通知部２５１と空き容量パラメータ保持部２５２を含む。空き容量パラメータ保持部２５２は空き容量検出部２６０が物理領域管理テーブル２４１に基づいて検出した不揮発性メモリ２１０の空き容量に係る空き容量パラメータを保持するものである。又通知部２５１はこの保持部２５２に保持されている空き容量パラメータを適宜インターフェイス２３０を介してアクセス装置１００に通知し、更に初期化が終了した領域に記録されているファイルＩＤ、ここではファイル番号を同様にアクセス装置に通知するものである。【００５２】
空き容量検出部２６０は物理領域管理テーブルに基づいて不揮発性メモリ２１０の領域１の先頭物理ブロックより順次空き容量を検出するものであり、検出した空き容量を空き容量パラメータ通知部２５０に伝えるものである。空き容量検出部２６０は２つの検出モードを有しており、初期化を終えた各領域毎に空き領域を検出するモード、及び初期化を終えた全領域の累計の空き容量を検出するモードを持つ。【００５３】
次に本実施の形態の処理について、電源立ち上げ時の初期化処理、通常動作時の処理にわけて説明する。なお、本発明の特徴は初期化処理にあるので、初期化処理を重点に説明し、初めに部分通知モードについて説明する。【００５４】
［電源立ち上げ時の初期化処理］
まず、電源立ち上げ時の不揮発性記憶装置２００の初期化処理について説明する。図９Ａ，図９Ｂは、空き容量の検出および空き容量パラメータの通知処理を示すフローチャート、図１０は、部分通知モードにおける空き容量パラメータの通知シーケンスを表す説明図である。不揮発性記憶装置２００がアクセス装置１００に装着されると、アクセス装置１００は外部バスを介して不揮発性記憶装置２００に電源を供給する。この電源の立ち上げ時刻をｔ０とする。これ以降、メモリコントローラ２２０は内部に備えられた各種ＲＡＭのクリアや不揮発性メモリ２１０へのリセット解除などの基本初期化処理を実行する（Ｓ１００）。図３の時刻ｔ０〜ｔ１は、この基本初期化処理の期間を示す。【００５５】
基本初期化処理を終える時刻ｔ１以降に、各種テーブル作成期間に移行する。読み書き制御部２４０は、不揮発性メモリ２１０内の物理ブロック番号ＰＢ１から昇順に各物理ブロックの先頭ページを読み出し、管理ポーションに書き込まれているブロックステータスとファイル番号を抽出し、それを読み書き制御部２４０内に備えられたＲＡＭにコピーしていくことにより、読み書き制御部２４０内に備えられたＲＡＭ上に物理領域管理テーブル２４１とマッピングテーブル２４２を１物理ブロックずつ構築していく（Ｓ１０１）。【００５６】
図１１は、ブロックステータスを保持する物理領域管理テーブル２４１を示すメモリマップである。ブロックステータスは２ビットの情報であり、値００は対応する物理ブロックに有効データが記憶されている状態を表し、値０１は対応する物理ブロックにデータが記録されているが物理領域管理テーブル２４１上で論理消去されている状態を表す。値１０は対応する物理ブロックが不良ブロックであることを表し、値１１は対応する物理ブロックが物理消去されていることを表す。値０１と値１１の物理ブロックを空きブロックと定義する。空きブロックは、アクセス装置１００からの書き込み指示があった場合に、読み書き制御部２４０によって書き込み先ブロックとして選択される。なお値０１の物理ブロックは、物理消去した後にデータを書き込むことになる。またファイル番号は、後述する通常動作時の処理におけるファイルデータの書き込みの際にアクセス装置１００が指定したファイル番号に相当する。【００５７】
図１２は、マッピングテーブル２４２を示すメモリマップである。マッピングテーブル２４２とはアクセス装置１００が指定したファイル番号に基づき、該ファイル番号ＦＮに対応するファイルデータが記憶された物理ブロック番号を記憶したテーブルである。複数の物理ブロックから成るファイルの場合、先頭の物理ブロックが記憶されている。【００５８】
１物理ブロックのテーブル構築処理毎に、空き容量検出部２６０は図１１に示す物理領域管理テーブル２４１のブロックステータスが値０１もしくは値１１をストアした物理ブロック、すなわち空きブロックの個数を累積加算していき、累積加算値を空き容量パラメータＥＣＰとして逐次空き容量パラメータ保持部１５２にストアする。ここでｉを領域番号（１〜４）とすると、最初は領域１の空き容量パラメータＥＣＰ１を累積加算する。【００５９】
読み書き制御部２４０は、１物理ブロックのテーブル構築毎にアクセス装置１００からの読み書き指示があったかどうかを確認する（Ｓ１０３）。読み書き指示がなかった場合は、読み書き制御部２４０はＳ１０４において、不揮発性メモリ２１０の１領域分のテーブル構築処理が終了したかどうかを判定し、終了していなければ物理ブロック番号をインクリメントしてステップＳ１０１に戻って昇順にテーブルの構築を続ける。【００６０】
さてステップＳ１０４において１領域分の処理が終了した場合は、領域終了フラグを通知部２５１に送出する（Ｓ１０５）。こうすれば通知可能状態となり、通知部２５１が空き容量パラメータＥＳＰｉをアクセス装置１００に通知する（Ｓ１０６）。図１０（Ｂ）は外部バスに出力されるＥＣＰｉを示しており、図１０（Ｃ）はそのときのＥＣＰｉの値を示す。その後領域ｉについてのＥＳＰｉはリセットする。通知部２６１はこのとき同時に、初期化が終了した領域に記録されているファイル番号を通知する。【００６１】
読み書き制御部２４０は、領域４の処理が終了したかどうかを判定し（Ｓ１０７）、終了してなければＳ１０１に戻る。図１０（Ｃ）において、例えば、領域１〜４にそれぞれ１０００ブロック個、１０１５ブロック個、９３６ブロック個、１１２７ブロック個の空き物理ブロックがあれば、不揮発性記憶装置２００はアクセス装置１００に該空き物理ブロックの個数を空き容量パラメータＥＣＰ１，ＥＣＰ２，ＥＣＰ３，ＥＣＰ４として通知し、領域４の空き容量パラメータＥＣＰ４の通知直後に初期化処理が完了したことを併せて通知する。初期化期間は図１０に示すように、各種テーブル作成に要する時間が支配的となる。【００６２】
さて図１０において時刻ｔ５には領域４の初期化が終了しているので、読み書き制御部２４０は初期化完了をアクセス装置１００に通知し（Ｓ１０８）、図９ＢのＳ１１８に進む。【００６３】
Ｓ１０３において読み書き指示があった場合は通常動作時の処理に移行するが、通常の処理が終了した後に初期化処理を再開する対象となる物理ブロックを特定できるように、読み書き制御部２４０はテーブル構築が終了した物理ブロック番号のカウント値を保持しておく（S１０９）。そしてＳ１１０において書き込みコマンドかどうかを判別する。書き込みコマンドであればＳ１１１に進んでファイルの書き込み処理を行い、物理領域管理テーブル１４１及びマッピングテーブル１４２を書き込んだファイルに合わせて更新する。又ファイルを書き込んだ領域の空き容量パラメータＥＣＰについても更新する（Ｓ１１２）。そしてＳ１１３に進んで全領域の初期化が既に終了しているかどうかを判別する。終了していなければＳ１１４に進んで空き容量パラメータＥＣＰを既に通知済みかどうかを判別する。通知済みであればＳ１１２において空き容量パラメータの値が変化しているため、更新した物理領域管理テーブルに基づいて算出した空き容量パラメータＥＣＰを再度アクセス装置に通知する（Ｓ１１５）。又Ｓ１１０において書き込み処理でなければ読み出しであるので、Ｓ１１６に進んでファイルの読み出し処理を行い、Ｓ１１７において全領域の初期化が終了しているかどうかを判別する。終了していなければＳ１０１に戻って初期化処理を続ける。この場合には図９ＡのＳ１０１に戻り、Ｓ１０９で記録したＰＢカウント値の次の番号からテーブル構築を続ける。Ｓ１１７において全領域の初期化が終了している場合にはＳ１１８に進む。又Ｓ１１３において初期化済みであればＳ１１８に進んで更に読み書きの指示を待受ける。読み書き指示があればＳ１１０に戻って同様の処理を繰り返す。【００６４】
次にアクセス装置１００の初期化処理について説明する。図１３は、アクセス装置１００の処理を示すフローチャートである。図１３のＳ２００において、アクセス装置１００は各種初期化処理を実行するとともに、不揮発性記憶装置２００から物理ブロックサイズを取得する。これによって、空き容量パラメータに基づいて空き容量が算出できる準備をする。その他の処理については簡単のため説明を省略する。【００６５】
［通常動作時の処理］
前述した初期化処理を経た後、不揮発性記憶システムは通常動作に移行する。アクセス装置１００の処理について更に図１３を用いて説明する。アプリケーション１２０はユーザインターフェイス１３０及びインターフェイス１１０からの割り込みがあるまで待機しており（Ｓ２０１）、割り込みが発生した後に、割り込み要因の解析を行う（Ｓ２０２）。なお割り込み要因は、空き容量パラメータ通知か、ユーザのファイルデータ記録再生に係る操作のいずれかであるとする。【００６６】
割り込み要因が、不揮発性記憶装置２００からの空き容量パラメータ通知であれば（Ｓ２０３）、インターフェイス１１０の空き容量パラメータ受信部１１１が空き容量パラメータＥＣＰｉを受信する。部分通知モードにおいては、アクセス装置１００側で領域１〜４の各々の空き容量パラメータを合計する機能を有するものとし、図１３のＳ２０４においては、アプリケーション１２０が数式（１）を実行することにより空き容量を算出する。
空き容量＝ΣＥＣＰｉ×物理ブロックサイズ（１６ｋバイト）・・・（１）【００６７】
次にアプリケーション１２０は空き容量がファイルデータを記録するのに十分な容量であるかを判定する（Ｓ２０５）。記録可能であれば、アクセス装置１００は記録可能モードとなり、ユーザインターフェイス１３０は記録操作を有効にし（Ｓ２０６）、空き容量を表示部１３１に表示する（Ｓ２０７）。このとき同時に初期化が終了した領域のファイル番号等をユーザの指示に基づいて表示することで、記録のみならず読み出しのレスポンスを向上させることができる。【００６８】
Ｓ２０３の説明に戻り、割り込み要因が空き容量パラメータ通知ではなく、ユーザのファイルデータ記録再生に係る操作であれば（Ｓ２０３）、アプリケーション１２０がユーザインターフェイス１３０の操作を解析し、ファイルの書き込みかどうかを判別する（Ｓ２０８）。ファイルの書き込みでなければ、Ｓ２０９においてファイルの読み出し処理を実行する（Ｓ２０９）。又ファイルの書き込みであれば、記録可能モードかどうかを判別する（Ｓ２１０）。記録可能モードでなければＳ２０１に戻り、記録可能モードであればＳ２１１に進み、ファイル書き込み制御を実行する。【００６９】
図１４は、アクセス装置１００と不揮発性記憶装置２００間での通信手順の概要を表すタイムチャートである。（Ａ）はファイルデータの書き込みにおける通信手順、（Ｂ）はファイルデータの読み出しにおける通信手順を表している。前述したファイル読み書きに係る一連の処理は、ファイル書き込みの場合は、図１４に示すように、アプリケーション１２０はインターフェイス１１０を介して不揮発性記憶装置２００に書き込みコマンドを発行し、その後ファイル番号、ファイルサイズ、ファイルデータを転送する。なおファイルデータは物理ブロックサイズ毎に１〜ｊのサフィックスを付与した。【００７０】
次に、不揮発性記憶装置２００側の処理について説明する。まずインターフェイス２３０が書き込みコマンド、ファイル番号、ファイルサイズ、ファイルデータ（ファイルデータ１〜ファイルデータｊ）を受信した場合は、インターフェイス２３０は読み書き制御部２４０に対して書き込み処理命令を指示する。ここでは、ファイル番号を１とし、さらにｊ＝４、すなわちファイルデータのサイズが４個の物理ブロックに対応するサイズであるとする。【００７１】
読み書き制御部１２０は物理領域管理テーブル２４１を参照し、ファイルデータ１〜ファイルデータ４の４個分の消去済みブロック番号、例えばＰＢ９、ＰＢ２５、ＰＢ４１、ＰＢ５０を取得すると共に、マッピングテーブル２４２のファイル番号１の位置に、取得した４ブロックの内のファイルデータ１に対応する物理ブロック番号（ＰＢ９）をストアする。その後図１５Ａに示すようにファイルデータ１をＰＢ９のページ０〜３１に順番に書き込み、同様にしてファイルデータ２〜４をそれぞれＰＢ２５、ＰＢ４１、ＰＢ５０に書き込む。ＰＢ９のページ０の管理領域にはＰＢ２５、ＰＢ４１、ＰＢ５０を指し示す物理ブロック番号をポインタとして記憶させておく。なお図１５Ｂのように芋づる式にポインタを記憶するようにしても構わない。【００７２】
次に、ファイルデータの読み出し処理について説明する。ファイル読み出しの場合は、図１４（Ｂ）に示すように、アプリケーション１２０はインターフェイス１１０を介して不揮発性記憶装置２００に読み出しコマンドを発行し、その後ファイル番号、オフセット、読み出しサイズを転送する。オフセットとは該ファイルデータの読み出したい部分の先頭を特定するものである。これに応じて不揮発性記憶装置はインターフェイス２３０が読み出しコマンド、ファイル番号、オフセット、読み出しサイズを受信した後に、インターフェイス２３０は読み書き制御部２４０に対して読み出し処理命令を指示する。ここでは、ファイル番号を１とし、オフセットを１６ｋバイト、読み出しサイズを３２ｋバイト、すなわち２個の物理ブロックに対応するサイズであるとする。なお、本実施の形態においては、オフセットや読み出しサイズの単位を１６ｋバイト単位とするが、このサイズに限定されるものではない。【００７３】
読み書き制御部２４０は、マッピングテーブルのファイル番号１の位置にストアされた物理ブロック番号（ＰＢ９）を取得し、ＰＢ９の管理領域に記憶されているポインタを読み出す。例えば図１５Ａの場合、ＰＢ９の管理領域にまとめてＰＢ２５、ＰＢ４１、ＰＢ５０の物理ブロック番号がファイルデータの構成順、すなわちファイルデータ１〜４の順番が判別できるように規則性をもって記録されており、オフセット値に基づいてどの物理ブロックかを決める。ここではオフセット値が１６ｋバイト、読み出しサイズが３２ｋバイトであるので、ＰＢ９の次のＰＢ２５から２ブロック分、すなわちＰＢ２５とＰＢ４１が読み出し対象の物理ブロックとなる。読み書き制御部２４０は不揮発性メモリ２１０からＰＢ２５とＰＢ４１を読み出し、インターフェイス２３０を介してアクセス装置１００にファイルデータとして転送する。【００７４】
次に図１６を用いて、累計通知モードにおける空き容量パラメータの通知について説明する。図１６は、累計通知モードにおける空き容量パラメータの通知シーケンスを表す説明図である。累計通知モードにおいても図１６Ａに示すように、電源立ち上げ直後に基本初期化処理期間にはいり、その後各種テーブル作成期間において不揮発性メモリ２１０の領域１〜４の物理ブロックの先頭ページの管理ポーションを調べることにより、物理領域管理テーブル２４１とマッピングテーブル２４２を構築していく。領域１〜４の各領域に対応する物理領域管理テーブル２４１とマッピングテーブル２４２を構築し終わると、その都度それらの領域の空き容量パラメータをアクセス装置１００に通知する。【００７５】
累計通知モードの場合には、ステップＳ１０６で空き容量パラメータＥＣＰは領域毎にリセットする必要がない。従って図１６（Ｃ）に示すように、各領域の初期化終了毎に順次増加する空き容量パラメータが送出される。そして全領域の初期化の終了後に不揮発性記憶装置２００は、領域１〜４の空き容量パラメータＥＣＰの累計値をアクセス装置１００に通知することとなる。【００７６】
領域１〜４の夫々の領域の初期化後に通知された空き容量パラメータＥＣＰは、その時点で不揮発性メモリ２１０の書き込み可能な全空き容量のパラメータとなる。即ち累計通知モードの場合は、空き容量は数式（２）に基づいて算出される。
空き容量＝ＥＣＰ×物理ブロックサイズ（１６ｋバイト）・・・（２）
累計通知モードにおいても、不揮発性記憶装置２００が初期化が完了した領域に対応する空き容量パラメータをアクセス装置１００に通知し、アクセス装置１００が、該空き容量パラメータが記録可能容量を満足するものであると判断した場合は（図１３のＳ２０５）、アクセス装置１００は記録可能モードとなり、その時点からファイルデータの書き込みが可能となる。【００７７】
以上のように、本発明の実施の形態に示す不揮発性記憶システムは、アクセス装置１００側から不揮発性記憶装置２００に対して読み書きしたいファイルの指定を行うアクセス方法に基づいたものである。この不揮発性記憶システムは電源立ち上げ後の初期化処理において空き容量検出部２６０が不揮発性メモリ２１０を領域１〜４に分割して空き容量を検出し、空き容量パラメータ通知部２５０が該空き容量に係る空き容量パラメータを初期化処理期間内に段階的にアクセス装置に通知するようにした。このため該空き容量がファイルデータの書き込みに必要な容量以上になった時点で、該ファイルデータを書き込むことが可能となる。すなわち初期化処理全ての完了を待たずに不揮発性メモリ２１０に書き込みことが可能となり、結果として記録時のレスポンスを向上させることができる。又初期化が部分的に終了したときに終了した領域に記録されているファイルＩＤを外部に通知することにより、初期化の完了を待たずに一部のファイルを読み出すことができる。【００７８】
なお、本実施の形態では、簡単のために不良ブロックが無いものとして説明したが、不良ブロックの代替領域を領域１〜４以外に設けることにより不良ブロックが生じた場合にも本発明の効果を実現することができる。又ここで説明した実施の形態では、空き容量パラメータ受信部１１１は、不揮発性記憶装置２００が通知した空き容量パラメータを受信するようにした。これに代えて図１７に示すように、アクセス装置１００側のインターフェイス１１０に空き容量パラメータ取得部１１２を設け、不揮発性メモリ２１０に対して能動的に空き容量パラメータを取得するようにしてもよい。空き容量パラメータ取得部１１２は空き容量パラメータ保持部２５２を直接読み出すようにするか、あるいは空き容量パラメータ保持部２５２が保持した値をインターフェイス２３０に一時的に保持し、それを取得するようにしてもよい。この場合、通知部２５１は空き容量パラメータ取得部１１２からの要求に応じて空き容量パラメータを通知するものとする。【００７９】
また本実施の形態では空き容量パラメータは空き物理ブロックの個数としたが、空き容量を算出できるパラメータであれば何でもよい。また、アクセス装置１００がファイルデータを記録可能かどうかを判定するためのサイズとして、予めアクセス装置１００側で該サイズを設定してもよい。例えばデジタルスチルカメラにおいては、ファイルサイズの最も小さくなる画像モードに対応するファイルサイズの方が、最初の容量パラメータ通知時刻、すなわち領域１の容量パラメータ通知時刻において記録可能になる確率が高くなる。また、本実施の形態においては、領域１〜４の４分割に固定したが、この分割数は任意でよく、例えばアクセス装置１００側で設定し、設定した分割数を不揮発性記憶装置２００側に指示するようにしてもよい。また、本実施の形態の不揮発性記憶システムは、不揮発性記憶装置２００をアクセス装置１００に装着して使用するシステムであるが、アクセス装置１００内に不揮発性記憶装置２００を組み込むシステムであってもよい。
【産業上の利用可能性】
【００８０】
本発明は、不揮発性記憶システムの記録時のレスポンスを向上させる方法を提案したものであり、半導体メモリカード等の不揮発性記憶装置を使用した静止画記録再生装置あるいは携帯電話などにおいて有益である。
【図１】
2008016081.tif 000003
【図２】
2008016081.tif 000004
【図３】
2008016081.tif 000005
【図４】
2008016081.tif 000006
【図５】
2008016081.tif 000007
【図６】
2008016081.tif 000008
【図７】
2008016081.tif 000009
【図８Ａ】
2008016081.tif 000010
【図８Ｂ】
2008016081.tif 000011
【図９Ａ】
2008016081.tif 000012
【図９Ｂ】
2008016081.tif 000013
【図１０】
2008016081.tif 000014
【図１１】
2008016081.tif 000015
【図１２】
2008016081.tif 000016
【図１３】
2008016081.tif 000017
【図１４】
2008016081.tif 000018
【図１５Ａ】
2008016081.tif 000019
【図１５Ｂ】
2008016081.tif 000020
【図１６】
2008016081.tif 000021
【図１７】
2008016081.tif 000022
【国際調査報告】
2008016081.tif 000023
2008016081.tif 000024
2008016081.tif 000025
2008016081.tif 000026