(57)【要約】  アクセス装置１００と不揮発性記憶装置２００との間での異なるアドレス空間の対応付けはせずに、アクセス装置１００がファイルＩＤを指定することで、不揮発性記憶装置２００内の物理アドレス空間のみでデータの格納状況を管理する。アクセス装置１００は、転送レート送信部１２１によって転送レートを不揮発性記憶装置２００に送出する。充填率算出部２５１はアクセス装置１００によって要求された保証速度に対応する物理ブロックの充填率を算出する。算出した充填率を用いて転送レートに対応する残容量を求め、これをアクセス装置１００の残容量受信部１２２に送信する。
2008018446.tif 000002
【特許請求の範囲】
【請求項１】
複数のページからなる物理ブロックを複数個有する不揮発性メモリに接続されるメモリコントローラであって、
外部から指定されたファイルＩＤに基づいて前記不揮発性メモリにファイルデータを書き込む読み書き制御部と、
前記不揮発性メモリへの転送レートを外部から受信し、各物理ブロックの有効データが記録されている有効ページ数が所定以下の物理ブロック数を検出し、前記物理ブロック数から前記不揮発性メモリの空き容量を検出し、検出した空き容量を外部へ出力する残容量送信部と、を具備するメモリコントローラ。
【請求項２】
前記残容量送信部は、
外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記不揮発性メモリの各物理ブロックの有効ページ数を取得し、有効ページ数毎に該当する物理ブロック数を保持する残容量テーブルと、
前記残容量テーブルを基にして、前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの空き容量の総和を算出し外部に送信する残容量検出部と、を有する請求項１に記載のメモリコントローラ。
【請求項３】
前記残容量送信部は、
外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記不揮発性メモリの各物理ブロックの有効ページ数を取得し、有効ページ数毎に該当する物理ブロック数を保持する残容量テーブルと、
物理ブロックの容量から前記充填率算出部が決定した最大有効ページ数分の容量を除いて物理ブロックの空き容量とし、前記残容量テーブルから前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求め、前記物理ブロックの空き容量と前記物理ブロックの総数とから残容量を算出し外部に送信する残容量検出部と、を有する請求項１に記載のメモリコントローラ。
【請求項４】
前記読み書き制御部は、前記不揮発性メモリの各物理ブロックについて有効ページ数を保持する物理領域管理テーブルを有する請求項１に記載のメモリコントローラ。
【請求項５】
前記残容量送信部は、
外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記物理領域管理テーブルを用いて有効ページ数毎に該当する物理ブロック数を集計した残容量テーブルと、
前記残容量テーブルを基にして、前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの空き容量の総和を算出し外部に送信する残容量検出部と、を有する請求項４に記載のメモリコントローラ。
【請求項６】
前記残容量送信部は、
外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記物理領域管理テーブルを用いて有効ページ数毎に該当する物理ブロック数を集計した残容量テーブルと、
物理ブロックの容量から前記充填率算出部が決定した最大有効ページ数分の容量を除いて物理ブロックの空き容量とし、前記残容量テーブルから前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求め、前記物理ブロックの空き容量と前記物理ブロックの総数とから残容量を算出し外部に送信する残容量検出部と、を有する請求項４に記載のメモリコントローラ。
【請求項７】
複数のページからなる物理ブロックを複数個有する不揮発性メモリと、メモリコントローラと、を具備し、外部から指定されたファイルＩＤに基づいてファイルデータを記憶する不揮発性記憶装置であって、
前記メモリコントローラは、
外部から指定されたファイルＩＤに基づいて前記不揮発性メモリにファイルデータを書き込む読み書き制御部と、
前記不揮発性メモリへの転送レートを外部から受信し、各物理ブロックの有効データが記録されている有効ページ数が所定以下の物理ブロック数を検出し、前記物理ブロック数から前記不揮発性メモリの空き容量を検出し、検出した空き容量を外部へ出力する残容量送信部と、を備える不揮発性記憶装置。
【請求項８】
前記残容量送信部は、
外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記不揮発性メモリの各物理ブロックの有効ページ数を取得し、有効ページ数毎に該当する物理ブロック数を保持する残容量テーブルと、
前記残容量テーブルを基にして、前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの空き容量の総和を算出し外部に送信する残容量検出部と、を有する請求項７に記載の不揮発性記憶装置。
【請求項９】
前記残容量送信部は、
外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記不揮発性メモリの各物理ブロックの有効ページ数を取得し、有効ページ数毎に該当する物理ブロック数を保持する残容量テーブルと、
物理ブロックの容量から前記充填率算出部が決定した最大有効ページ数分の容量を除いて物理ブロックの空き容量とし、前記残容量テーブルから前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求め、前記物理ブロックの空き容量と前記物理ブロックの総数とから残容量を算出し外部に送信する残容量検出部と、を有する請求項７に記載の不揮発性記憶装置。
【請求項１０】
前記読み書き制御部は、前記不揮発性メモリの各物理ブロックについて有効ページ数を保持する物理領域管理テーブルを有する請求項７に記載の不揮発性記憶装置。
【請求項１１】
前記残容量送信部は、
外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記物理領域管理テーブルを用いて有効ページ数毎に該当する物理ブロック数を集計した残容量テーブルと、
前記残容量テーブルを基にして、前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの空き容量の総和を算出し外部に送信する残容量検出部と、を有する請求項１０に記載の不揮発性記憶装置。
【請求項１２】
前記残容量送信部は、
外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記物理領域管理テーブルを用いて有効ページ数毎に該当する物理ブロック数を集計した残容量テーブルと、
物理ブロックの容量から前記充填率算出部が決定した最大有効ページ数分の容量を除いて物理ブロックの空き容量とし、前記残容量テーブルから前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求め、前記物理ブロックの空き容量と前記物理ブロックの総数とから残容量を算出し外部に送信する残容量検出部と、を有する請求項１０に記載の不揮発性記憶装置。
【請求項１３】
アクセス装置と、前記アクセス装置から指定されたファイルＩＤに基づいてファイルデータを記憶する不揮発性記憶装置と、を具備する不揮発性記憶システムであって、
前記アクセス装置は、
不揮発性記憶装置に対してファイルデータの転送のための転送レートを送信する転送レート送信部と、
前記送信した転送レートに応じた前記不揮発性記憶装置の残容量を取得する残容量受信部と、を備え、
前記不揮発性記憶装置は、
複数のページからなる物理ブロックを複数個有する不揮発性メモリと、
前記アクセス装置から指定されたファイルＩＤに基づいて前記不揮発性メモリにファイルデータを書き込む読み書き制御部と、
前記不揮発性メモリへの転送レートを外部から受信し、各物理ブロックの有効データが記録されている有効ページ数が所定以下の物理ブロック数を検出し、前記物理ブロック数から前記不揮発性メモリの空き容量を検出し、検出した空き容量を前記アクセス装置へ出力する残容量送信部と、を有するメモリコントローラと、を備える不揮発性記憶システム。
【請求項１４】
前記残容量送信部は、
前記アクセス装置から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記不揮発性メモリの各物理ブロックの有効ページ数を取得し、有効ページ数毎に該当する物理ブロック数を保持する残容量テーブルと、
前記残容量テーブルを基にして、前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの空き容量の総和を算出し前記アクセス装置に送信する残容量検出部と、を有する請求項１３に記載の不揮発性記憶システム。
【請求項１５】
前記残容量送信部は、
前記アクセス装置から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記不揮発性メモリの各物理ブロックの有効ページ数を取得し、有効ページ数毎に該当する物理ブロック数を保持する残容量テーブルと、
物理ブロックの容量から前記充填率算出部が決定した最大有効ページ数分の容量を除いて物理ブロックの空き容量とし、前記残容量テーブルから前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求め、前記物理ブロックの空き容量と前記物理ブロックの総数とから残容量を算出し前記アクセス装置に送信する残容量検出部と、を有する請求項１３に記載の不揮発性記憶システム。
【請求項１６】
前記読み書き制御部は、前記不揮発性メモリの各物理ブロックについて有効ページ数を保持する物理領域管理テーブルを有する請求項１３に記載の不揮発性記憶システム。
【請求項１７】
前記残容量送信部は、
前記アクセス装置から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記物理領域管理テーブルを用いて有効ページ数毎に該当する物理ブロック数を集計した残容量テーブルと、
前記残容量テーブルを基にして、前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの空き容量の総和を算出し前記アクセス装置に送信する残容量検出部と、を有する請求項１６に記載の不揮発性記憶システム。
【請求項１８】
前記残容量送信部は、
前記アクセス装置から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記物理領域管理テーブルを用いて有効ページ数毎に該当する物理ブロック数を集計した残容量テーブルと、
物理ブロックの容量から前記充填率算出部が決定した最大有効ページ数分の容量を除いて物理ブロックの空き容量とし、前記残容量テーブルから前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求め、前記物理ブロックの空き容量と前記物理ブロックの総数とから残容量を算出し前記アクセス装置に送信する残容量検出部と、を有する請求項１６に記載の不揮発性記憶システム。
【請求項１９】
前記アクセス装置は、前記不揮発性メモリの残容量に係る情報を表示する表示部を備える請求項１３に記載の不揮発性記憶システム。
【請求項２０】
外部との間でファイルＩＤを指定してデータの書き込み及び読出しを行なうアクセス装置であって、
外部に対してファイルデータの転送のための転送レートを送信する転送レート送信部と、
前記送信した転送レートに応じた前記外部の残容量を取得する残容量受信部と、を具備するアクセス装置。
【請求項２１】
前記外部の残容量に係る情報を表示する表示部を具備する請求項２０に記載のアクセス装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリを備えた半導体メモリカード等の不揮発性記憶装置、これを制御するメモリコントローラ、前記不揮発性記憶装置にアクセスするアクセス装置、及び前記不揮発性記憶装置にアクセス装置を構成要素として加えた不揮発性記憶システムに関する。
【背景技術】
【０００２】
データの書き換えが可能な不揮発性メモリを備える不揮発性記憶装置の需要は、半導体メモリカードを中心に広まっている。不揮発性記憶装置は、光ディスクやテープメディアなどと比較して高価格なものではあるが、小型かつ軽量であることや、耐震性や取り扱いが簡便であること等のメリットにより、デジタルスチルカメラや携帯電話などのポータブル機器の記録媒体としてその需要が広まっている。この不揮発性記憶装置は、不揮発性の主記憶メモリとしてフラッシュメモリを備え、さらにそれを制御するメモリコントローラを備えている。メモリコントローラは、デジタルスチルカメラやパーソナルコンピュータ本体等のアクセス装置からの読み書き指示に応じて、フラッシュメモリに対する読み書き制御を行う。【０００３】
半導体メモリカードやポータブルオーディオなどの製品に内蔵されるフラッシュメモリは、記憶単位であるメモリセルアレイへの書き込みや消去に比較的長い時間を必要とする。この対策としてフラッシュメモリは、複数のメモリセルを一括して消去したり、複数のメモリセルに一括してデータを書き込んだりできる構造となっている。フラッシュメモリは、複数の物理ブロックから構成されており、各物理ブロックは複数のページを含んでいる。データは物理ブロック単位で消去され、ページ単位で書き込まれる。【０００４】
このようなリムーバブルディスクである不揮発性記憶装置をデジタルスチルカメラ等のアクセス装置に取り付け、アクセス装置側から例えばＦＡＴファイルシステム等のファイルシステムで管理する。ＦＡＴファイルシステムは、ファイルアローケションテーブル（以下、ＦＡＴという）を用いてクラスタごとにファイルデータを管理するものである。半導体メモリカードなどの不揮発性記憶装置へファイルデータを書き込む際にＦＡＴファイルシステムは、ＦＡＴを用いて空きクラスタにファイルデータをアロケートし、さらに該ファイルデータ、及び該ファイルデータがアロケートされたクラスタ番号（論理アドレス）を不揮発性記憶装置に指定する。【０００５】
また特許文献１には、このようなＦＡＴファイルシステムを用いた不揮発性記憶システムが詳述されている。特許文献１では、論理アドレス空間における管理領域とデータ領域との境界（バウンダリ）が物理ブロックの境界と一致しているバウンダリ一致型ファイルシステムと、境界が一致していないバウンダリ不一致型ファイルシステムの二種類が開示されている。【０００６】
さらに半導体メモリの特性として、データ転送速度は物理ブロック内でのデータ記録の状態に大きく左右される。これに関して特許文献２は、アクセス装置が実現可能なデータ転送速度を不揮発性記憶装置から取得する技術について、バウンダリ一致型ファイルシステムに限定して開示している。
【特許文献１】特開２００１―１８８７０１号公報
【特許文献２】国際公開番号ＷＯ０５／０１５４０６
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献２などにおける従来の不揮発性記憶システムが適用しているアクセス方式の問題点について説明する。ここでいうアクセス方式とは、アクセス装置が書き込み対象のデータを論理アドレス空間に割り当てて、その論理アドレスとともに書き込み対象のデータを不揮発性記憶装置に転送する方式のことである。このアクセス方式を、論理アドレスレベルアクセス方式という。【０００８】
通常、アクセス装置が不揮発性記憶装置に対して書き込むことのできるデータの容量は、不揮発性記憶装置がアクセス装置に対して最低限保証できるデータの転送レート（以下、保証速度という）に応じて異なる。従来の不揮発性記憶システムではアクセス装置が要求する書き込み速度に応じた不揮発性記憶装置の容量の検出が困難であるので、この点について図１〜図８を用いて説明する。【０００９】
図１は、ＦＡＴファイルシステムを用いた従来の不揮発性記憶システムの構成を表すブロック図である。図１に示す従来の不揮発性記憶システムは、アクセス装置１０及び不揮発性記憶装置１３を有している。アクセス装置１０は、アプリケーション部１１及びファイルシステム１２を有し、不揮発性記憶装置１３は、メモリコントローラ１４及び不揮発性メモリ１５を有している。アクセス装置１０が不揮発性記憶装置１３にファイルデータを書き込む場合、ファイルシステム１２が不揮発性記憶装置１３に対してファイルデータと当該ファイルデータに対応する論理アドレスをメモリコントローラ１４に転送する。その後メモリコントローラ１４は、転送された論理アドレスを物理アドレスに変換し、得られた物理アドレスに基づいて不揮発性メモリ１５にファイルデータを書き込む。【００１０】
図２は、不揮発性メモリにおける物理ブロックとページとの関係を示す図である。例えば不揮発性メモリ１５に使用されるＮＡＮＤ型フラッシュメモリは、図２に示すように複数の２５６ｋＢの物理ブロックから構成されており、さらに各物理ブロックは２ｋＢのページから構成されている。このようなＮＡＮＤ型フラッシュメモリの物理ブロックにファイルデータを書き込むときは、書き込みの前に当該物理ブロックの全てのデータを消去する必要がある。【００１１】
ここで図３を用いて、２５６ｋＢのファイルデータが書き込まれている論理ブロックに対して１６ｋＢ分のデータを書き換える場合について説明する。アクセス装置１０が、不揮発性記憶装置１３に対して１６ｋＢのファイルデータ及び当該ファイルデータに指定された論理アドレスを転送すると、メモリコントローラ１４は、無効なデータが記録されている新規物理ブロックを取得する。図３（ａ）に示すようにメモリコントローラ１４は、取得した物理ブロックの無効なデータを消去して、この物理ブロックを書き込み先の物理ブロックとして決定する。続いてメモリコントローラ１４は、図３（ｂ）に示すように、１６ｋＢ分のファイルデータを新規物理ブロックに書き込む。さらにメモリコントローラ１４は、図３（ｃ）に示すように、アクセス装置１０が指定した論理アドレスに対応する論理ブロックの残りの２４０ｋＢのファイルデータを、そのデータが記憶されている物理ブロック（旧物理ブロック）から新規物理ブロックの残りの空きページにコピーする。これは、物理ブロックサイズ以下のデータをなるべく１つの物理ブロックに集約することで、メモリを効率よく使用するために実施される。【００１２】
このように、新規の物理ブロックに１６ｋＢの新たなファイルデータを書き込むが、残りの２４０ｋＢの記憶領域には旧物理ブロックのデータがコピーされるだけである。よって旧物理ブロックからコピーされる残りのファイルデータのサイズが大きくなるほど、アクセス装置１０のファイルデータの転送レートは低下することになり、新たなファイルデータの単位容量あたりの書き込み時間が長くなる。つまり、物理ブロックのサイズに対して、書き換えや消去の対象とならないデータ（有効データ）が占める比率（以下、充填率という）が大きいほど、転送レートが低くなることを意味している。【００１３】
図４は、１つの物理ブロックの充填率と保証速度との関係の一例を示したグラフである。充填率が０％の物理ブロックにデータを書き込む場合は旧物理ブロックからのコピーが発生しないので、図４の点ａにおいて、不揮発性記憶装置１３における保証速度が最高速度である２ＭＢ／秒となる。充填率が上昇するにつれて保証速度が低下する。図４の例では、点ｂに示すように、充填率が２５％の物理ブロックの保証速度は１ＭＢ／秒となっている。充填率がさらに増加して１００％に達すると新たにファイルデータを書き込むことができないので、点ｃに示すように、保証速度が０ＭＢ／秒となる。よって保証速度を１ＭＢ／秒とした場合の空き容量である残容量は、充填率が２５％以下の物理ブロックを検出し、検出した物理ブロックの各容量の総和をとれば取得できる。【００１４】
しかし、従来の不揮発性記憶システムにおいては、アクセス装置が不揮発性記憶装置に要求する保証速度に応じた残容量の算出が困難であるので、その理由を示す。図５は、図１の不揮発性記憶システムにおけるファイルシステム１２がバウンダリ不一致型である場合の、論理アドレス空間と物理アドレス空間との関係を示している。【００１５】
図５においてＣ１〜Ｃｎ−２はクラスタ番号ＣＮを示しており、Ｌ１〜Ｌｎは論理ブロック番号ＬＢＮであり、これらが論理アドレス空間ＬＡを構成する。論路ブロック番号とは、論理アドレス空間の先頭アドレスから物理ブロックサイズ（図５の例では２５６ｋＢ）単位で連続的に付与された番号で、このうちＬ２の途中からＬｎまでがファイルデータが記録される論理アドレスとする。不揮発性メモリ１５の物理アドレス空間ＰＡは、通常領域とスペア領域を有している。物理ブロック番号Ｂ１〜Ｂｎ＋ｍは物理アドレス空間の先頭アドレスから物理ブロックサイズ単位で連続的に付与された物理ブロック番号である。尚図５では、簡単のために、物理ブロックのサイズをクラスタのサイズの１倍として表している。【００１６】
ここで、図５において、物理アドレス空間上の通常領域は、論理アドレス空間全体に等しいサイズを有している。物理アドレス空間上のスペア領域は、該通常領域内の物理ブロックが不良となった場合、該物理ブロックの代替ブロックとして使用する領域である。なお、通常領域とスペア領域は物理的に固定されるものではなく、論物変換テーブルなどを用いた論物変換によって物理的な位置が適宜変化するものである。図面では解りやすくするために通常領域とスペア領域を区分して表記した。また通常領域やスペア領域以外にもセキュリティ関連情報などを記憶するシステム領域があるが簡単のため省略する。【００１７】
バウンダリ不一致型のファイルシステムとは、図５の一点鎖線で示すように、論理アドレス空間中のデータ領域の開始アドレスが、物理アドレス空間を構成する物理ブロックの境界と一致しないファイルシステムのことである。図５の番号１６はバウンダリを示している。通常、物理ブロックサイズは論理アドレス空間の管理単位であるクラスタのサイズの整数倍となるので、バウンダリ不一致型のファイルシステムではクラスタの境界も物理ブロックの境界と一致しない。このシステムは、例えばパーソナルコンピュータなど多くのホストに適用されているＦＡＴファイルシステムが該当する。【００１８】
アクセス装置１０内に備えられたアプリケーション１１からファイルデータの書き込み指示があった場合、ファイルシステム１２は、図５に示す論理アドレス空間上のデータ領域の空きクラスタ（例えばＣ１，Ｃ２）に該ファイルデータをアロケートする。続いて、該ファイルデータを不揮発性記憶装置１３に書き込む際に、該ファイルデータがアロケートされたクラスタに対応する論理ブロック番号（例えばＬ３、Ｌ４）と、該クラスタにアロケートされたファイルデータを不揮発性記憶装置１３に転送する。不揮発性記憶装置１３内のメモリコントローラ１４が、論物変換処理により該論理ブロック番号を物理ブロック番号に変換し、例えば物理ブロックＢ６とＢ７を得てこの２つの物理ブロックに該ファイルデータを書き込む。このように、論理アドレスレベルアクセス方式においては、アクセス装置１０側が論理アドレス空間上の管理単位であるクラスタ毎にファイルデータのアロケートの管理を行い、それに対応して不揮発性記憶装置１３側が物理アドレス空間上の管理単位である物理ブロック毎に前記クラスタにアロケートされたファイルデータのマッピングの管理を行う。なお「アロケート」や「マッピング」という名称は、ともに管理単位へファイルデータを配置するという意味において同一であるが、論理と物理といったアドレス空間の違いを明確にするため、論理アドレス空間においては「アロケート」を用い、物理アドレス空間においては「マッピング」を用いて敢えて区別した。【００１９】
論理アドレスレベルアクセス方式においては、出荷後初めて使用するときなどに不揮発性記憶装置１３に対してフォーマット処理が行なわれる。このフォーマット処理においてアクセス装置は、論理アドレス空間内に管理領域やデータ領域を形成し、更にこれらの領域管理を行うファイルアロケーションテーブル（ＦＡＴ）などの管理情報を生成してこれら管理情報を不揮発性記憶装置１３に書き込む。【００２０】
図６は、図５で示した論理アドレス空間と物理アドレス空間におけるクラスタと物理ブロックとの充填率の関係を、不揮発性メモリの物理的な位置を介して示している。図６の不揮発性メモリ上には、先頭から順に４６４ｋＢの管理領域がある。これに続くデータ領域には、２０８ｋＢの空き領域、９６ｋＢ分の記録済み領域、４１６ｋＢ分の空き領域、９６ｋＢ分の記録済み領域が存在する。この状態の不揮発性メモリに対して、論理アドレス空間ＬＡではクラスタＣ１、Ｃ２、Ｃ３、及びＣ４には等しく４８ｋＢのデータが記録されている。クラスタＣ１〜Ｃ４の充填率が１８．７５％であるので、例えば保証速度１ＭＢ／秒を満たすかのように見える。しかし、物理アドレス空間ＰＡにおいては、物理ブロックＢ３及びＢ５に９６ｋＢのデータが記録されており、物理ブロックＢ４及びＢ６にはデータが記録されていないことになっている。このときの物理ブロックＢ３、Ｂ５の充填率は３７．５％、物理ブロックＢ４、Ｂ６の充填率は０％となる。従って物理ブロックＢ４及びＢ６は保証速度１ＭＢ／秒を満たすことができるが、物理ブロックＢ３及びＢ５は保証速度１ＭＢ／秒を満たすことができない。このように論理アドレス空間上では保証速度を満たすことができると判断しても、物理ブロック空間場では保証速度を満たすことができないことがある。従って、アクセス装置１０上のファイルシステム１２からは、与えられた保証速度を満たす残容量を正しく取得することはできないことがわかる。【００２１】
次に、ファイルシステム１２がバウンダリ一致型である場合について説明する。図７は、図１の不揮発性記憶システムにおけるファイルシステム１２がバウンダリ一致型である場合の、論理アドレス空間と物理アドレス空間との関係を示している。バウンダリ一致型のファイルシステムとは、図７の一点鎖線のバウンダリ１６で示すように、論理アドレス空間中のデータ領域の開始アドレスが、物理アドレス空間を構成する物理ブロックの境界（図７では物理ブロックＢ２とＢ３との境界）に一致するファイルシステムのことである。バウンダリ一致型のファイルシステムは、例えばＳＤカードに対応したデジタルビデオカメラ等に適用されており、前述のバウンダリ不一致型ファイルシステムをバウンダリが一致するように改良したものである。具体的には、論理アドレス空間での管理領域が、物理ブロックの整数倍（図７では、物理ブロックＢ１及びＢ２）となるようにフォーマット処理を行う。【００２２】
図８において不揮発性メモリ上には、先頭から順に５１２ｋＢの管理領域がある。これに続くデータ領域には、１６０ｋＢの空き領域、９６ｋＢ分の記録済み領域、４１６ｋＢ分の空き領域、９６ｋＢ分の記録済み領域が存在する。この状態の不揮発性メモリに対して、論理アドレス空間ではクラスタＣ１及びＣ３に等しく９６ｋＢのデータが記録されて充填率がともに３７．５％となっている。さらに、物理アドレス空間においてもクラスタＣ１及びＣ３と対応する物理ブロックＢ３及びＢ５でも等しく９６ｋＢのデータが記録されて充填率がともに３７．５％となっている。このように、バウンダリ一致型ファイルシステムではクラスタの充填率と物理ブロックの充填率が一致するので、アクセス装置１０自身が保証速度を満たす残容量を正しく取得することができる。しかしそのためには、アクセス装置１０は、物理ブロックサイズ、及び物理ブロック番号とクラスタ番号とを関連づける情報を不揮発性記憶装置１３から取得する必要があるため、それらデータの転送に時間がかかってしまう。また、物理ブロックサイズは不揮発性記憶装置１３によって異なるので、アクセス装置１０のファイルシステム１２の制御が煩雑になってしまう。【００２３】
このように論理アドレスレベルアクセス方式では、物理アドレス空間の状態を論理アドレス空間の状態に対応づける際に、上記で説明したような問題が生じるため、アクセス装置が要求する転送レートに応じた不揮発性記憶装置の残容量を取得することが困難である。よって動画撮影や静止画連写撮影など、動作中に一定値以上の転送レートを要求するアプリケーションでは、フラッシュメモリ内のすべての物理ページに対してはデータを書き込むことができない。言い換えると、各物理ブロックにおけるデータを記録したページ数によって、当該物理ブロックへのデータの転送レートが異なるため、アクセス装置が指定した転送レートが保証されない場合がある。【００２４】
以上要するに、従来の不揮発性記憶システムにおいてファイルシステムがバウンダリ不一致型である場合、アクセス装置の残容量算出の基準であるクラスタと、転送レートに影響する不揮発性記憶装置の物理ブロックとの対応関係が明確でない。そのためアクセス装置は、要求する転送レートに対応した不揮発性記憶装置の残容量を取得することができない。【００２５】
これに対して、バウンダリ一致型のファイルシステムにおいてはバウンダリ不一致型での課題は解消されるが、すでに説明したようにアクセス装置、不揮発性記憶装置へのバウンダリ一致型ファイルシステムの実装は困難である。またバウンダリ一致型ファイルシステムを採用したアクセス装置は数が限られているので、全てのアクセス装置が転送レートに応じた残容量を取得することはできるわけではない。【００２６】
上記問題点に鑑み本発明は、アクセス装置のファイルシステムがバウンダリ不一致型であるかバウンダリ一致型であるかにかかわらず、アクセス装置が指定する転送レートでリアルタイム記録が可能な不揮発性メモリの残容量を取得するメモリコントローラ、不揮発性記憶装置、アクセス装置、および不揮発性記憶システムを提供することを目的とする。
【課題を解決するための手段】
【００２７】
上記課題を解決するために、本発明のメモリコントローラは、複数のページからなる物理ブロックを複数個有する不揮発性メモリに接続されるメモリコントローラであって、外部から指定されたファイルＩＤに基づいて前記不揮発性メモリにファイルデータを書き込む読み書き制御部と、前記不揮発性メモリへの転送レートを外部から受信し、各物理ブロックの有効データが記録されている有効ページ数が所定以下の物理ブロック数を検出し、前記物理ブロック数から前記不揮発性メモリの空き容量を検出し、検出した空き容量を外部へ出力する残容量送信部と、を具備するものである。【００２８】
ここで前記残容量送信部は、外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、前記不揮発性メモリの各物理ブロックの有効ページ数を取得し、有効ページ数毎に該当する物理ブロック数を保持する残容量テーブルと、前記残容量テーブルを基にして、前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの空き容量の総和を算出し外部に送信する残容量検出部と、を有していてもよい。【００２９】
ここで前記残容量送信部は、外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、前記不揮発性メモリの各物理ブロックの有効ページ数を取得し、有効ページ数毎に該当する物理ブロック数を保持する残容量テーブルと、物理ブロックの容量から前記充填率算出部が決定した最大有効ページ数分の容量を除いて物理ブロックの空き容量とし、前記残容量テーブルから前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求め、前記物理ブロックの空き容量と前記物理ブロックの総数とから残容量を算出し外部に送信する残容量検出部と、を有していてもよい。【００３０】
ここで前記読み書き制御部は、前記不揮発性メモリの各物理ブロックについて有効ページ数を保持する物理領域管理テーブルを有していてもよい。【００３１】
ここで前記残容量送信部は、外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、前記物理領域管理テーブルを用いて有効ページ数毎に該当する物理ブロック数を集計した残容量テーブルと、前記残容量テーブルを基にして、前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの空き容量の総和を算出し外部に送信する残容量検出部と、を有していてもよい。【００３２】
ここで前記残容量送信部は、外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、前記物理領域管理テーブルを用いて有効ページ数毎に該当する物理ブロック数を集計した残容量テーブルと、物理ブロックの容量から前記充填率算出部が決定した最大有効ページ数分の容量を除いて物理ブロックの空き容量とし、前記残容量テーブルから前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求め、前記物理ブロックの空き容量と前記物理ブロックの総数とから残容量を算出し外部に送信する残容量検出部と、を有していてもよい。【００３３】
また、本発明の不揮発性記憶装置は、複数のページからなる物理ブロックを複数個有する不揮発性メモリと、メモリコントローラと、を具備し、外部から指定されたファイルＩＤに基づいてファイルデータを記憶する不揮発性記憶装置であって、前記メモリコントローラは、外部から指定されたファイルＩＤに基づいて前記不揮発性メモリにファイルデータを書き込む読み書き制御部と、前記不揮発性メモリへの転送レートを外部から受信し、各物理ブロックの有効データが記録されている有効ページ数が所定以下の物理ブロック数を検出し、前記物理ブロック数から前記不揮発性メモリの空き容量を検出し、検出した空き容量を外部へ出力する残容量送信部と、を備えるものである。【００３４】
ここで前記残容量送信部は、外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、前記不揮発性メモリの各物理ブロックの有効ページ数を取得し、有効ページ数毎に該当する物理ブロック数を保持する残容量テーブルと、前記残容量テーブルを基にして、前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの空き容量の総和を算出し外部に送信する残容量検出部と、を有していてもよい。【００３５】
ここで前記残容量送信部は、外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、前記不揮発性メモリの各物理ブロックの有効ページ数を取得し、有効ページ数毎に該当する物理ブロック数を保持する残容量テーブルと、物理ブロックの容量から前記充填率算出部が決定した最大有効ページ数分の容量を除いて物理ブロックの空き容量とし、前記残容量テーブルから前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求め、前記物理ブロックの空き容量と前記物理ブロックの総数とから残容量を算出し外部に送信する残容量検出部と、を有していてもよい。【００３６】
ここで前記読み書き制御部は、前記不揮発性メモリの各物理ブロックについて有効ページ数を保持する物理領域管理テーブルを有していてもよい。【００３７】
ここで前記残容量送信部は、外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、前記物理領域管理テーブルを用いて有効ページ数毎に該当する物理ブロック数を集計した残容量テーブルと、前記残容量テーブルを基にして、前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの空き容量の総和を算出し外部に送信する残容量検出部と、を有していてもよい。【００３８】
ここで前記残容量送信部は、外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、前記物理領域管理テーブルを用いて有効ページ数毎に該当する物理ブロック数を集計した残容量テーブルと、物理ブロックの容量から前記充填率算出部が決定した最大有効ページ数分の容量を除いて物理ブロックの空き容量とし、前記残容量テーブルから前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求め、前記物理ブロックの空き容量と前記物理ブロックの総数とから残容量を算出し外部に送信する残容量検出部と、を有していてもよい。【００３９】
また、本発明の不揮発性記憶システムは、アクセス装置と、前記アクセス装置から指定されたファイルＩＤに基づいてファイルデータを記憶する不揮発性記憶装置と、を具備する不揮発性記憶システムであって、前記アクセス装置は、不揮発性記憶装置に対してファイルデータの転送のための転送レートを送信する転送レート送信部と、前記送信した転送レートに応じた前記不揮発性記憶装置の残容量を取得する残容量受信部と、を備え、前記不揮発性記憶装置は、複数のページからなる物理ブロックを複数個有する不揮発性メモリと、前記アクセス装置から指定されたファイルＩＤに基づいて前記不揮発性メモリにファイルデータを書き込む読み書き制御部と、前記不揮発性メモリへの転送レートを外部から受信し、各物理ブロックの有効データが記録されている有効ページ数が所定以下の物理ブロック数を検出し、前記物理ブロック数から前記不揮発性メモリの空き容量を検出し、検出した空き容量を前記アクセス装置へ出力する残容量送信部と、を有するメモリコントローラと、を備えるものである。【００４０】
ここで前記残容量送信部は、前記アクセス装置から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、前記不揮発性メモリの各物理ブロックの有効ページ数を取得し、有効ページ数毎に該当する物理ブロック数を保持する残容量テーブルと、前記残容量テーブルを基にして、前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの空き容量の総和を算出し前記アクセス装置に送信する残容量検出部と、を有していてもよい。【００４１】
ここで前記残容量送信部は、前記アクセス装置から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、前記不揮発性メモリの各物理ブロックの有効ページ数を取得し、有効ページ数毎に該当する物理ブロック数を保持する残容量テーブルと、物理ブロックの容量から前記充填率算出部が決定した最大有効ページ数分の容量を除いて物理ブロックの空き容量とし、前記残容量テーブルから前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求め、前記物理ブロックの空き容量と前記物理ブロックの総数とから残容量を算出し前記アクセス装置に送信する残容量検出部と、を有していてもよい。【００４２】
ここで前記読み書き制御部は、前記不揮発性メモリの各物理ブロックについて有効ページ数を保持する物理領域管理テーブルを有していてもよい。【００４３】
ここで前記残容量送信部は、前記アクセス装置から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、前記物理領域管理テーブルを用いて有効ページ数毎に該当する物理ブロック数を集計した残容量テーブルと、前記残容量テーブルを基にして、前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの空き容量の総和を算出し前記アクセス装置に送信する残容量検出部と、を有していてもよい。【００４４】
ここで前記残容量送信部は、前記アクセス装置から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、前記物理領域管理テーブルを用いて有効ページ数毎に該当する物理ブロック数を集計した残容量テーブルと、物理ブロックの容量から前記充填率算出部が決定した最大有効ページ数分の容量を除いて物理ブロックの空き容量とし、前記残容量テーブルから前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求め、前記物理ブロックの空き容量と前記物理ブロックの総数とから残容量を算出し前記アクセス装置に送信する残容量検出部と、を有していてもよい。【００４５】
ここで前記アクセス装置は、前記不揮発性メモリの残容量に係る情報を表示する表示部を備えていてもよい。【００４６】
また、本発明のアクセス装置は、外部との間でファイルＩＤを指定してデータの書き込み及び読出しを行なうアクセス装置であって、外部に対してファイルデータの転送のための転送レートを送信する転送レート送信部と、前記送信した転送レートに応じた前記外部の残容量を取得する残容量受信部と、を具備するものである。【００４７】
ここでアクセス装置は、前記外部の残容量に係る情報を表示する表示部を具備していてもよい
【発明の効果】
【００４８】
本発明によれば、アクセス装置が不揮発性記憶装置に対して必要な転送レートを指定することにより、不揮発性メモリの物理アドレス空間上の物理ブロック毎のデータ記録状況から、アクセス装置が指定した転送レートに対応する残容量を取得することができる。これによってアクセス装置は、アクセス装置のアプリケーションが要求する転送レートに応じた不揮発性記憶装置の正しい残容量、及び残容量から算出可能な残記録時間又は残記録枚数等の情報を取得することができる。
【図面の簡単な説明】
【００４９】
【図１】図１は、従来のＦＡＴファイルシステムを用いた不揮発性記憶システムを示すブロック図である。
【図２】図２は、不揮発性メモリにおける物理ブロックとページとの関係の一例を示す図である。
【図３】図３は、不揮発性メモリにおけるデータ消去及び書き込み処理の一例を示す図である。
【図４】図４は、物理ブロックの充填率と保証速度との関係の一例を示すグラフである。
【図５】図５は、バウンダリ不一致型ファイルシステムを適用した不揮発性記憶システムにおける論理アドレス空間と物理アドレス空間との対応を示すメモリマップである。
【図６】図６は、図５の構成における論理アドレス空間と物理アドレス空間における充填率の関係を示す図である。
【図７】図７は、バウンダリ一致型ファイルシステムを適用した不揮発性記憶システムにおける論理アドレス空間と物理アドレス空間との対応を示すメモリマップである。
【図８】図８は、図７の構成における論理アドレス空間と物理アドレス空間における充填率の関係を示す図である。
【図９Ａ】図９Ａは、本発明の実施の形態における不揮発性記憶システムのアクセス装置を示すブロック図である。
【図９Ｂ】図９Ｂは、本発明の実施の形態における不揮発性記憶システムの不揮発性記憶装置を示すブロック図である。
【図１０】図１０は、本実施の形態の物理領域管理テーブルの一例を示す図である。
【図１１】図１１は、本実施の形態のマッピングテーブルを示すメモリマップである。
【図１２】図１２は、物理ブロックの充填率と保証速度との関係の一例を示すグラフである。
【図１３】図１３は、本実施の形態の残容量検出部２５０で作成される残要領テーブルの一例を示す図である。
【図１４Ａ】図１４Ａは、本発明の実施の形態における不揮発性記憶システムの一例を示す図である。
【図１４Ｂ】図１４Ｂは、本発明の実施の形態における不揮発性記憶システムの一例を示す図である。
【図１５】図１５は、本発明の実施の形態における残容量の検出及び残記録時間算出の処理を示すタイムチャートである。
【図１６Ａ】図１６Ａは、本実施の形態のファイルデータを記録した物理ブロックの連結状態を説明した図である。
【図１６Ｂ】図１６Ｂは、本実施の形態のファイルデータを記録した物理ブロックの連結状態を説明した図である。
【符号の説明】
【００５０】
１００  アクセス装置
１１０  ユーザインターフェイス
１１１  転送レート設定部
１１２  残記録時間表示部
１２０  アプリケーション
１２１  転送レート送信部
１２２  残容量受信部
１３０、２３０  インターフェイス
２００  不揮発性記憶装置
２１０  不揮発性メモリ
２２０  メモリコントローラ
２４０  読み書き制御部
２４１  物理領域管理テーブル
２４２  マッピングテーブル
２５０  残容量送信部
２５１  充填率算出部
２５２  残容量テーブル
２５３  残容量検出部
【発明を実施するための最良の形態】
【００５１】
本実施の形態においては、アクセス装置と不揮発性記憶装置間での異なるアドレス空間の対応付けはせずに、アクセス装置がファイルＩＤを指定し、不揮発性記憶装置が該ファイルＩＤに対応するファイルデータを不揮発性メモリの物理アドレス空間上にマッピングする。これによって従来の物理アドレス空間の状態を論理アドレス空間の状態に対応づける際に生じる問題点が解決できることを着想した。この方式を以下、ファイルレベルアクセス方式という。【００５２】
本発明の不揮発性記憶システムの実施の形態について、図９Ａ〜図１６Ｂを用いて説明する。図９Ａは、本実施の形態における不揮発性記憶システムのアクセス装置１００を示したブロック図であり、図９Ｂは不揮発性記憶装置２００を示す。【００５３】
不揮発性記憶システムは、アクセス装置１００及び不揮発性記憶装置２００を有しており、アクセス装置１００は、ユーザインターフェイス１１０、アプリケーション１２０、インターフェイス１３０を有している。【００５４】
ユーザインターフェイス１１０は、転送レート設定部１１１及び残記録時間表示部１１２を有している。転送レート設定部１１１は、アクセス装置１００が、不揮発性記憶装置２００に対して要求する転送レートを設定するものである。残記録時間表示部１１２は、不揮発性記憶装置２００に対して記録可能な残り時間を表示するものである。【００５５】
アプリケーション１２０は、転送レート送信部１２１及び残容量受信部１２２を有しており、転送レート送信部１２１及び残容量受信部１２２の動作を制御するものである。転送レート送信部１２１は、ユーザが転送レート設定部１１１を介して指定した転送レートを、インターフェイス１３０を介して不揮発性記憶装置２００に送信するものである。また残容量受信部１２２は、不揮発性記憶装置２００から送られた不揮発性記憶装置２００の空き容量である残容量を、インターフェイス１３０を介して受信するものである。ここでは、残容量受信部１２２は更に受信した不揮発性記憶装置２００の空き容量である残容量を記録可能な残り時間に換算して残記録時間表示部１１２を用いて表示する。【００５６】
インターフェイス１３０は、ファイルデータの書き込みにおいてアプリケーション１２０から該ファイルデータを識別するためのファイルＩＤと該ファイルデータを不揮発性記憶装置２００に転送するとともに、不揮発性記憶装置２００から読み出したファイルデータをアプリケーション１２０に転送するものである。尚ファイルＩＤは、ファイルを識別するための情報である。【００５７】
不揮発性記憶装置２００は、不揮発性メモリ２１０、及びメモリコントローラ２２０を有している。【００５８】
不揮発性メモリ２１０は、例えば１Ｇバイトの容量を有するフラッシュメモリである。このとき物理ブロックのサイズは２５６ｋＢであるので、不揮発性メモリ２１０は４０９６個の物理ブロックを有している。物理ブロックは１２８の２ｋＢのページからなる。物理ブロックには順に、物理ブロック番号ＰＢＮ０〜４０９５が付されている。【００５９】
メモリコントローラ２２０は、アクセス装置１００との間でデータ及びコマンドの送受信をするインターフェイス２３０、読み書き制御部２４０、及び残容量送信部２５０を有している。【００６０】
読み書き制御部２４０は、物理領域管理テーブル２４１、及びマッピングテーブル２４２を有し、インターフェイス２３０が送受信するファイルデータをアクセス装置１００から送られたファイルＩＤに基づいて不揮発性メモリ２１０に読み書きするものである。【００６１】
物理領域管理テーブル２４１は、図１０に示すように不揮発性メモリ２１０の各物理ブロックの有効ページ数を、物理ブロック番号（ＰＢＮ）ごとに示すものである。有効ページ数とは、有効なデータを保持しているページの数を示す。【００６２】
マッピングテーブル２４２は、図１１に示すようにファイルＩＤに対応するファイルデータが格納されている物理ブロック番号（ＰＢＮ）を、ファイルＩＤ毎に示すものである。【００６３】
残容量送信部２５０は、充填率算出部２５１、残容量情報である残容量テーブル２５２、及び残容量検出部２５３を有している。充填率算出部２５１は、アクセス装置１００から送信された転送レートを受信し、図１２に示すグラフを用いて当該転送レートを満たす充填率を算出し、算出された充填率から当該転送レートを満たす物理ブロックにおける有効ページ数の最大値である最大有効ページ数を決定するものである。【００６４】
図１２のグラフは、１つの物理ブロックの充填率と転送レートとの関係の一例を示したグラフである。不揮発性記憶装置２００がアクセス装置１００に対して保証する転送レートを保証速度と呼ぶと、例えば保証速度１．９ＭＢ／秒を実現するためには、点ａより充填率が３％以下、保証速度１ＭＢ／秒を実現するためには、点ｂより充填率が２５％以下であればよいことがわかる。【００６５】
残容量テーブル２５２は図１３に示すように、物理領域管理テーブル２４１の物理ブロック番号ＰＢＮ０から順に物理ブロック内の有効ページ数を取得して有効ページ数毎に該当する物理ブロック数を集計したものである。【００６６】
残容量検出部２５３は、充填率算出部２５１から受信した最大有効ページ数、及び残容量テーブル２５２から取得した該充填率以下の物理ブロックの数を基にして不揮発性メモリ２１０の残容量を算出し、アクセス装置１００に送信するものである。【００６７】
アクセス装置１００及び不揮発性記憶装置２００は、例えば図１４Ａ及び図１４Ｂの模式図に示すような構成を採ることができる。図１４Ａの不揮発性記憶システムは、例えば動画撮影装置であるアクセス装置１００及びアクセス装置１００に装着された不揮発性記憶装置２００を含んでいる。アクセス装置１００は、転送レート設定部１１１及び残記録時間表示部１１２を有している。【００６８】
転送レート設定部１１１は、動画を高画質で撮影する高画質モードと標準画質で撮影する通常モードとを切り替えるスイッチであり、図１４Ａでは高画質モードに設定されていることを示している。残記録時間表示部１１２は、転送レート設定部１１１で設定した画質で撮影を継続することのできる残り時間を表示する表示部であり、図１４Ａでは撮影を継続できる残り時間が３０分であることを示している。【００６９】
図１４Ｂは、転送レート設定部１１１が通常モードに設定されている状態を示しており、撮影を継続できる残り時間が５０分であることを示している。【００７０】
このような構成の不揮発性記憶システムにおいて、アクセス装置１００が指定した転送レートに対して、不揮発性記憶装置２００が残容量を算出し送信する処理について、図１５のタイムチャートを用いて説明する。なお、簡単の為に不良ブロックはないものとし、不揮発性メモリ２１０の全物理ブロックは、アクセス装置１００が利用できる領域であるとする。【００７１】
まず、電源立ち上げ時の不揮発性記憶装置２００の初期化処理について説明する。不揮発性記憶装置２００をアクセス装置１００に装着すると、アクセス装置１００は外部バスを介して不揮発性記憶装置２００に電源を供給する。このときメモリコントローラ２２０は、内部に備えられた各種ＲＡＭのクリアや不揮発性メモリ２１０へのリセット解除などの基本初期化処理を実行し、各種テーブル作成期間に移行する。【００７２】
読み書き制御部２４０は、不揮発性メモリ２１０内の物理ブロック番号ＰＢＮ０から昇順に各物理ブロックの各ページをスキャンして、データが書き込まれていないページ数及びファイルＩＤを検出する。検出されたページ数及びファイルＩＤを用いて、読み書き制御部２４０内に備えられたＲＡＭ上に物理領域管理テーブル２４１とマッピングテーブル２４２を構築する。【００７３】
これに連動して残容量送信部２５０は、物理領域管理テーブル２４１の物理ブロック番号ＰＢＮ１から順に各物理ブロック内の有効ページ数を取得し、取得した有効ページ数を残容量送信部２５０の残容量テーブル２５２に蓄積する。このような初期化処理を経て、アクセス装置１００は動画の撮影が可能となる。【００７４】
初期化処理の終了後、ユーザが動画を撮影するために転送レート設定部１１１を高画質側に設定すると、転送レート送信部１２１は不揮発性記憶装置２００に対して残容量を問い合わせるためにアクセス装置１００が要求する転送レートを送信する（Ｓ１）。【００７５】
Ｓ１で送信された転送レートは、インターフェイス２３０を介して、充填率算出部２５１に送られる（Ｓ２）。充填率算出部２５１は図１２のグラフを参照してアクセス装置１００が要求する転送レートに対応する充填率を算出し（Ｓ３）、算出された充填率から当該転送レートを満たす最大有効ページ数を算出し、残容量検出部２５３に送信する（Ｓ４）。尚、図１２のグラフにおいて、Ｓ４で求めた最大有効ページ数から得られる充填率に対応する転送レートが、不揮発性記憶装置２００がアクセス装置１００に対して保証する保証速度となる。【００７６】
残容量検出部２５３は、残容量テーブル２５２から受信した最大有効ページ数以下の有効ページを有する物理ブロック数を取得し、以下に説明する方法で不揮発性メモリ２１０の残容量を算出する（Ｓ５）。【００７７】
アクセス装置１００が送信した転送レートを満たすための最大有効ページ数がｓページ（ｓは整数）である場合に、有効ページ数がｋ（０≦ｋ≦ｓの整数）の物理ブロックの数をＢ（ｋ）としたとき、該保証速度に対応する残容量は、一般に次の式（１）で算出することができる。ここで物理ブロックは１２８ページを有し、ページの容量は２ｋＢである。よって算出された値の単位はｋＢとなる。尚、最大有効ページ数を表すｓは、物理ブロックのページ数に充填率をかけて、得られた値の小数点以下を切り捨てることで得られる値である。
【数１】
2008018446.tif 000003
【００７８】
例えば、アクセス装置１００が要求する転送レートが１．９ＭＢ／秒であるとき、充填率算出部２５１は、図１２のグラフを用いてこの転送レートを満たす物理ブロックの充填率を算出する。図１２の点ａによると、転送レート１．９ＭＢ／秒を満たす充填率は３％以下である。１つの物理ブロックの１２８ページの内、有効ページ数が３％以下、つまり３．８４ページ以下である物理ブロックが、転送レート１．９ＭＢ／秒を満たすことがわかる。充填率算出部２５１は、算出された有効ページ数の小数点以下を切り捨てて、最大有効ページ数を３に決定する。ここで、式１の最大有効ページ数ｓの値が３と決まる。残容量検出部２５３は充填率算出部２５１から最大有効ページ数３を受信して、有効ページ数が３以下である物理ブロックの数を図１３の残容量テーブル２５２を参照して取得する。また、図１２において有効ページ数が３となる充填率に対応する転送レートが、不揮発性記憶装置２００のアクセス装置１００に対する保証速度となるので、保証速度は、転送レート１．９ＭＢ／秒よりも大きな値となる。尚図１３において有効ページ数０、１，２、及び３の物理ブロック数は、それぞれ１０００、２０、５０、及び１０である。【００７９】
残容量テーブル２５２から検出した物理ブロック数及び有効ページ数を式（１）に当てはめると、下の式（２）に示すように、残容量はおよそ２６９．７ＭＢであると算出される。
２５６×１０００＋２５４×２０＋２５２×５０＋２５０×１０
＝２７６１８０（ｋＢ）
≒２６９．７（ＭＢ）・・・（２）【００８０】
この演算に代えて、残容量を概算することもできる。転送レートが１．９ＭＢ／秒のとき有効ページ数は０〜３となるので、各物理ブロックの容量を２×（１２８−３）＝２５０ｋＢとみなす。よって残容量は、２５０×（１０００＋２０＋５０＋１０）ｋＢと計算できる。【００８１】
この他の残容量の概算方法について説明する。まず、物理ブロックの容量から充填率算出部２５１が算出した最大有効ページ数分の容量を除いて物理ブロックの空き容量とする。残容量テーブル２５２から充填率算出部２５１が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求めて、該物理ブロックの総数と該物理ブロックの空き容量とから残容量を概算することができる。例えば最大有効ページ数が６４ページのときは、物理ブロックの容量２５６ｋＢから最大有効ページ数分の容量を差し引いて物理ブロックの空き容量を１２８ｋＢとみなす。続いて残容量テーブル２５２から有効ページ数が６４ページ以下の物理ブロックの総数を取得し、物理ブロックの容量１２８ｋＢを乗じることで残容量の概算結果が得られる。【００８２】
残容量検出部２５３は、このようにして求めた残容量を、インターフェイス２３０を介してアクセス装置１００に送信する（Ｓ６）。【００８３】
残容量受信部１２２は、受信した残容量を保証速度で除して、動画の撮影が可能な時間である残記録時間を算出し、残記録時間表示部１１２に表示する（Ｓ７）。【００８４】
このようにＳ１からＳ７の処理によって、図１４Ａに示すように残記録時間表示部１１２に残記録時間が、例えば「残３０分」と表示される。図１４Ｂに示すように転送レート設定部１１１が通常画質側に設定されていると、アクセス装置１００が要求する転送レートは低いので、充填率の高い物理ブロックの使用も可能になる。これによって、転送レート設定部１１１が高画質側であるときと比べて残容量は大きくなり、残記録時間表示部１１２に表示される残記録時間も、例えば「残５０分」と長くなる。【００８５】
ここまでが、ファイルデータを書き込む前に行なわれる不揮発性記憶装置２００の残容量の検出処理である。これに続くファイルデータの書き込みにおいては、まずインターフェイス２３０が、アクセス装置１００からの書き込みコマンド、ファイルＩＤとしてのファイル番号、ファイルサイズ、ファイルデータ（ファイルデータ１〜ファイルデータｉ）、アクセス装置１００が要求する転送レートを受信する。ここではファイル番号を１とし、さらにｉ＝４とする。すなわちファイルデータのサイズが４個の物理ブロックに対応するサイズであるとする。【００８６】
インターフェイス２３０は充填率算出部２５１に、アクセス装置１００が要求する転送レートを供給し、対応する充填率を読み書き制御部２４０に供給する。読み書き制御部２４０は物理領域管理テーブル２４１を参照し、ファイルデータ１〜ファイルデータ４を記録するための、保証速度に対応した所定の充填率以下の物理ブロック番号、例えばＰＢ９、ＰＢ２５、ＰＢ４１、ＰＢ５０を取得する。これとともに読み書き制御部２４０はマッピングテーブル２４２のファイル番号１の位置に、最初の物理ブロック番号（ＰＢ９）を蓄積する。このときのマッピングテーブル２４２の状態を、図１２に示す。その後、図１６Ａに示すようにファイルデータ１をＰＢ９のページ０〜１２７に順番に書き込み、同様にしてファイルデータ２〜４をそれぞれＰＢ２５、ＰＢ４１、ＰＢ５０に書き込む。このときＰＢ９のページ０の管理領域にはＰＢ２５、ＰＢ４１、ＰＢ５０を指し示すポインタを記憶させておく。なお図１６Ｂに示すように、各物理ブロックのページ０の管理領域に次のリンク先を示すポインタを記憶するようにしても構わない。またここでいうポインタとは物理ブロック番号のことである。【００８７】
以上のように、本実施の形態に示す不揮発性記憶システムでは、アクセス装置１００と不揮発性記憶装置２００とで異なるアドレス空間を用いていない。代わりにアクセス装置１００は、不揮発性記憶装置２００にファイルＩＤを指定し、不揮発性記憶装置２００が該ファイルＩＤに対応するファイルデータを不揮発性メモリ２１０の物理アドレス空間上にマッピングする。これによって、アクセス装置は指定する転送レートを保証しながらファイルデータを書き込むことのできる残容量を正しく取得することができる。【００８８】
このほかにも、アクセス装置１００が不揮発性記憶装置２００に対して速度別残容量の一覧を要求し、アクセス装置１００が受け取った一覧表をもとに残容量を検出することもできる。あるいは、アクセス装置１００の要求に関係なく、不揮発性記憶装置２００がアクセス装置１００に対して速度別残容量の一覧を通知しても、本実施の形態と同様の効果を得ることができる。【００８９】
尚本実施の形態では、動画を撮影するアクセス装置を含む不揮発性記憶システムについて説明した。しかしこれに限らず、静止画を撮影するアクセス装置を含む不揮発性記憶システムにおいても、また音声を録音するアクセス装置を含む不揮発性記憶システムにおいても適用することができる。【００９０】
また本実施の形態では、不揮発性記憶装置の残容量を時間に換算して表示したが、換算せずに容量をそのまま表示してもかまわない。
【産業上の利用可能性】
【００９１】
本発明は、不揮発性記憶システムにおいて、アクセス装置が要求する転送レートに応じたメモリの残容量を簡単に取得する方法を提案したものである。これは、高品質の動画撮影など、高い転送レートが要求されるアプリケーションを有する装置、例えば動画記録再生装置や静止画記録再生装置あるいは携帯電話において有益である。
【図１】
2008018446.tif 000004
【図２】
2008018446.tif 000005
【図３】
2008018446.tif 000006
【図４】
2008018446.tif 000007
【図５】
2008018446.tif 000008
【図６】
2008018446.tif 000009
【図７】
2008018446.tif 000010
【図８】
2008018446.tif 000011
【図９Ａ】
2008018446.tif 000012
【図９Ｂ】
2008018446.tif 000013
【図１０】
2008018446.tif 000014
【図１１】
2008018446.tif 000015
【図１２】
2008018446.tif 000016
【図１３】
2008018446.tif 000017
【図１４Ａ】
2008018446.tif 000018
【図１４Ｂ】
2008018446.tif 000019
【図１５】
2008018446.tif 000020
【図１６Ａ】
2008018446.tif 000021
【図１６Ｂ】
2008018446.tif 000022
【手続補正書】
【提出日】平成19年12月7日(2007.12.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のページからなる物理ブロックを複数個有する不揮発性メモリに接続されるメモリコントローラであって、
外部から指定されたファイルＩＤに基づいて前記不揮発性メモリにファイルデータを書き込む読み書き制御部と、
前記不揮発性メモリへの転送レートを外部から受信し、各物理ブロックの有効データが記録されている有効ページ数が前記転送レートにより定まる所定値以下の物理ブロック数を検出し、前記転送レートに対応した前記不揮発性メモリの空き容量を検出し、検出した空き容量を外部へ出力する残容量送信部と、を具備するメモリコントローラ。
【請求項２】
前記残容量送信部は、
外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記不揮発性メモリの各物理ブロックの有効ページ数を取得し、有効ページ数毎に該当する物理ブロック数を保持する残容量テーブルと、
前記残容量テーブルを基にして、前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの空き容量の総和を算出し外部に送信する残容量検出部と、を有する請求項１に記載のメモリコントローラ。
【請求項３】
前記残容量送信部は、
外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記不揮発性メモリの各物理ブロックの有効ページ数を取得し、有効ページ数毎に該当する物理ブロック数を保持する残容量テーブルと、
物理ブロックの容量から前記充填率算出部が決定した最大有効ページ数分の容量を除いて物理ブロックの空き容量とし、前記残容量テーブルから前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求め、前記物理ブロックの空き容量と前記物理ブロックの総数とから残容量を算出し外部に送信する残容量検出部と、を有する請求項１に記載のメモリコントローラ。
【請求項４】
前記読み書き制御部は、前記不揮発性メモリの各物理ブロックについて有効ページ数を保持する物理領域管理テーブルを有する請求項１に記載のメモリコントローラ。
【請求項５】
前記残容量送信部は、
外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記物理領域管理テーブルを用いて有効ページ数毎に該当する物理ブロック数を集計した残容量テーブルと、
前記残容量テーブルを基にして、前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの空き容量の総和を算出し外部に送信する残容量検出部と、を有する請求項４に記載のメモリコントローラ。
【請求項６】
前記残容量送信部は、
外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記物理領域管理テーブルを用いて有効ページ数毎に該当する物理ブロック数を集計した残容量テーブルと、
物理ブロックの容量から前記充填率算出部が決定した最大有効ページ数分の容量を除いて物理ブロックの空き容量とし、前記残容量テーブルから前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求め、前記物理ブロックの空き容量と前記物理ブロックの総数とから残容量を算出し外部に送信する残容量検出部と、を有する請求項４に記載のメモリコントローラ。
【請求項７】
複数のページからなる物理ブロックを複数個有する不揮発性メモリと、メモリコントローラと、を具備し、外部から指定されたファイルＩＤに基づいてファイルデータを記憶する不揮発性記憶装置であって、
前記メモリコントローラは、
外部から指定されたファイルＩＤに基づいて前記不揮発性メモリにファイルデータを書き込む読み書き制御部と、
前記不揮発性メモリへの転送レートを外部から受信し、各物理ブロックの有効データが記録されている有効ページ数が前記転送レートにより定まる所定値以下の物理ブロック数を検出し、前記転送レートに対応した前記不揮発性メモリの空き容量を検出し、検出した空き容量を外部へ出力する残容量送信部と、を備える不揮発性記憶装置。
【請求項８】
前記残容量送信部は、
外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記不揮発性メモリの各物理ブロックの有効ページ数を取得し、有効ページ数毎に該当する物理ブロック数を保持する残容量テーブルと、
前記残容量テーブルを基にして、前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの空き容量の総和を算出し外部に送信する残容量検出部と、を有する請求項７に記載の不揮発性記憶装置。
【請求項９】
前記残容量送信部は、
外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記不揮発性メモリの各物理ブロックの有効ページ数を取得し、有効ページ数毎に該当する物理ブロック数を保持する残容量テーブルと、
物理ブロックの容量から前記充填率算出部が決定した最大有効ページ数分の容量を除いて物理ブロックの空き容量とし、前記残容量テーブルから前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求め、前記物理ブロックの空き容量と前記物理ブロックの総数とから残容量を算出し外部に送信する残容量検出部と、を有する請求項７に記載の不揮発性記憶装置。
【請求項１０】
前記読み書き制御部は、前記不揮発性メモリの各物理ブロックについて有効ページ数を保持する物理領域管理テーブルを有する請求項７に記載の不揮発性記憶装置。
【請求項１１】
前記残容量送信部は、
外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記物理領域管理テーブルを用いて有効ページ数毎に該当する物理ブロック数を集計した残容量テーブルと、
前記残容量テーブルを基にして、前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの空き容量の総和を算出し外部に送信する残容量検出部と、を有する請求項１０に記載の不揮発性記憶装置。
【請求項１２】
前記残容量送信部は、
外部から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記物理領域管理テーブルを用いて有効ページ数毎に該当する物理ブロック数を集計した残容量テーブルと、
物理ブロックの容量から前記充填率算出部が決定した最大有効ページ数分の容量を除いて物理ブロックの空き容量とし、前記残容量テーブルから前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求め、前記物理ブロックの空き容量と前記物理ブロックの総数とから残容量を算出し外部に送信する残容量検出部と、を有する請求項１０に記載の不揮発性記憶装置。
【請求項１３】
アクセス装置と、前記アクセス装置から指定されたファイルＩＤに基づいてファイルデータを記憶する不揮発性記憶装置と、を具備する不揮発性記憶システムであって、
前記アクセス装置は、
不揮発性記憶装置に対してファイルデータの転送のための転送レートを送信する転送レート送信部と、
前記送信した転送レートに応じた前記不揮発性記憶装置の残容量を取得する残容量受信部と、を備え、
前記不揮発性記憶装置は、
複数のページからなる物理ブロックを複数個有する不揮発性メモリと、
前記アクセス装置から指定されたファイルＩＤに基づいて前記不揮発性メモリにファイルデータを書き込む読み書き制御部と、
前記不揮発性メモリへの転送レートを外部から受信し、各物理ブロックの有効データが記録されている有効ページ数が前記転送レートにより定まる所定値以下の物理ブロック数を検出し、前記転送レートに対応した前記不揮発性メモリの空き容量を検出し、検出した空き容量を前記アクセス装置へ出力する残容量送信部と、を有するメモリコントローラと、を備える不揮発性記憶システム。
【請求項１４】
前記残容量送信部は、
前記アクセス装置から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記不揮発性メモリの各物理ブロックの有効ページ数を取得し、有効ページ数毎に該当する物理ブロック数を保持する残容量テーブルと、
前記残容量テーブルを基にして、前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの空き容量の総和を算出し前記アクセス装置に送信する残容量検出部と、を有する請求項１３に記載の不揮発性記憶システム。
【請求項１５】
前記残容量送信部は、
前記アクセス装置から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記不揮発性メモリの各物理ブロックの有効ページ数を取得し、有効ページ数毎に該当する物理ブロック数を保持する残容量テーブルと、
物理ブロックの容量から前記充填率算出部が決定した最大有効ページ数分の容量を除いて物理ブロックの空き容量とし、前記残容量テーブルから前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求め、前記物理ブロックの空き容量と前記物理ブロックの総数とから残容量を算出し前記アクセス装置に送信する残容量検出部と、を有する請求項１３に記載の不揮発性記憶システム。
【請求項１６】
前記読み書き制御部は、前記不揮発性メモリの各物理ブロックについて有効ページ数を保持する物理領域管理テーブルを有する請求項１３に記載の不揮発性記憶システム。
【請求項１７】
前記残容量送信部は、
前記アクセス装置から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記物理領域管理テーブルを用いて有効ページ数毎に該当する物理ブロック数を集計した残容量テーブルと、
前記残容量テーブルを基にして、前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの空き容量の総和を算出し前記アクセス装置に送信する残容量検出部と、を有する請求項１６に記載の不揮発性記憶システム。
【請求項１８】
前記残容量送信部は、
前記アクセス装置から受信した転送レートから、前記転送レートを実現することのできる物理ブロックの最大有効ページ数を決定する充填率算出部と、
前記物理領域管理テーブルを用いて有効ページ数毎に該当する物理ブロック数を集計した残容量テーブルと、
物理ブロックの容量から前記充填率算出部が決定した最大有効ページ数分の容量を除いて物理ブロックの空き容量とし、前記残容量テーブルから前記充填率算出部が決定した最大有効ページ数以下の有効ページを有する物理ブロックの総数を求め、前記物理ブロックの空き容量と前記物理ブロックの総数とから残容量を算出し前記アクセス装置に送信する残容量検出部と、を有する請求項１６に記載の不揮発性記憶システム。
【請求項１９】
前記アクセス装置は、前記不揮発性メモリの残容量に係る情報を表示する表示部を備える請求項１３に記載の不揮発性記憶システム。
【請求項２０】
外部との間でファイルＩＤを指定してデータの書き込み及び読出しを行なうアクセス装置であって、
外部に対してファイルデータの転送のための転送レートを送信する転送レート送信部と、
前記送信した転送レートに応じた前記外部の残容量を取得する残容量受信部と、を具備するアクセス装置。
【請求項２１】
前記外部の残容量に係る情報を表示する表示部を具備する請求項２０に記載のアクセス装置。
【国際調査報告】
2008018446.tif 000023
2008018446.tif 000024
2008018446.tif 000025
2008018446.tif 000026