(57)【要約】不揮発性の補助記憶メモリ１０７に物理領域管理テーブル１０５とポインタテーブル１０６を記憶させる。論理物理変換テーブル１０８を主記憶メモリ１４０に更新する（書き戻す）際、ポインタテーブルにより書き戻し先を再配置的に決定することにより、主記憶メモリ１４０の書き換え集中を回避する。またデータ等を主記憶メモリ１４０に書き込んだ直後に、物理領域管理テーブル１０５上の物理ブロックの状態を更新することにより、電源遮断が生じても当該データが有効であるかどうかを確実に判断することができる。【特許請求の範囲】
【請求項１】
アクセス装置から与えられるコマンドと論理アドレスに応じて不揮発性の主記憶メモリにデータを書き込み、及び読み出すメモリコントローラであって、
前記メモリコントローラは、
前記主記憶メモリに対して読み書き制御を行う読み書き制御手段と、
前記主記憶メモリから読み出された論理物理変換テーブルを一時記憶する揮発性メモリと、
前記主記憶メモリの各物理アドレスの状態を管理する物理領域管理テーブル及び前記主記憶メモリに記憶された論理物理変換テーブルの物理アドレスを指し示すポインタを記憶する不揮発性の補助記憶メモリと、
前記論理物理変換テーブルに基づき前記主記憶メモリにおけるデータ等の記憶位置である物理アドレスを決定すると共に、前記物理領域管理テーブル及びポインタ情報の更新を行うアドレス管理情報制御手段とを有し、
前記補助記憶メモリは、前記主記憶メモリよりも書き換え保証回数が多い不揮発性メモリであり、
前記アドレス管理情報制御手段は、前記ポインタが前記論理物理変換テーブルの記憶位置である物理アドレスを適宜更新することによって前記論理物理変換テーブルの記憶位置が固定化されないようにし、前記主記憶メモリのデータが変更された後に前記物理領域管理テーブル内において当該データの変更された物理アドレスを有効状態に設定するメモリコントローラ。
【請求項２】
前記補助記憶メモリは、書き込み速度が前記主記憶メモリより速いメモリである請求項１記載のメモリコントローラ。
【請求項３】
前記補助記憶メモリは、不揮発性ＲＡＭである請求項２記載のメモリコントローラ。
【請求項４】
前記補助記憶メモリに保持されるポインタは、最新の主記憶メモリに記憶された論理物理変換テーブルの物理アドレス及びその直前の主記憶メモリに記憶された物理領域管理テーブルの物理アドレスを示す２組のポインタを含む請求項１記載のメモリコントローラ。
【請求項５】
前記補助記憶メモリは、強誘電体メモリ（ＦｅＲＡＭ）、磁性記録式随時書き込み読み出しメモリ（ＭＲＡＭ）、オボニックユニファイドメモリ（ＯＵＭ）、及びレジスタンスＲＡＭ（ＲＲＡＭ）のうちのいずれか１つである請求項３記載のメモリコントローラ。
【請求項６】
不揮発性の主記憶メモリと、メモリコントローラと、を有し、
外部のアクセス装置から与えられるコマンドと論理アドレスに応じて前記主記憶メモリにデータを書き込み、及び読み出す不揮発性記憶装置であって、
前記主記憶メモリは、
それぞれが少なくとも１つのセクタを含む複数の物理ブロックから成る不揮発性のメモリであり、
前記メモリコントローラは、
前記主記憶メモリに対して読み書き制御を行う読み書き制御手段と、
前記主記憶メモリから読み出された論理物理変換テーブルを一時記憶する揮発性メモリと、
前記主記憶メモリの各物理アドレスの状態を管理する物理領域管理テーブル及び前記主記憶メモリに記憶された論理物理変換テーブルの物理アドレスを指し示すポインタを記憶する不揮発性の補助記憶メモリと、
前記論理物理変換テーブルに基づき前記主記憶メモリにおけるデータ等の記憶位置である物理アドレスを決定すると共に、前記物理領域管理テーブル及びポインタ情報の更新を行うアドレス管理情報制御手段とを有し、
前記補助記憶メモリは、前記主記憶メモリよりも書き換え保証回数が多い不揮発性メモリであり、
前記アドレス管理情報制御手段は、前記ポインタが前記論理物理変換テーブルの記憶位置である物理アドレスを適宜更新することによって前記論理物理変換テーブルの記憶位置が固定化されないようにし、前記主記憶メモリのデータが変更された後に前記物理領域管理テーブル内において当該データの書き込み物理アドレスを有効状態に設定する不揮発性記憶装置。
【請求項７】
前記補助記憶メモリは、書き込み速度が前記主記憶メモリより速いメモリである請求項６記載の不揮発性記憶装置。
【請求項８】
前記補助記憶メモリは、不揮発性ＲＡＭである請求項７記載の不揮発性記憶装置。
【請求項９】
前記補助記憶メモリに保持されるポインタは、最新の主記憶メモリに記憶された論理物理変換テーブルの物理アドレス及びその直前の主記憶メモリに記憶された物理領域管理テーブルの物理アドレスを示す２組のポインタを含む請求項６記載の不揮発性記憶装置。
【請求項１０】
前記補助記憶メモリは、強誘電体メモリ（ＦｅＲＡＭ）、磁性記録式随時書き込み読み出しメモリ（ＭＲＡＭ）、オボニックユニファイドメモリ（ＯＵＭ）、及びレジスタンスＲＡＭ（ＲＲＡＭ）のうちのいずれか１つである請求項８記載の不揮発性記憶装置。
【請求項１１】
アクセス装置と、不揮発性記憶装置を有し、前記不揮発性記憶装置は不揮発性の主記憶メモリと、メモリコントローラと、を有し、
前記アクセス装置から与えられるコマンドと論理アドレスに応じて前記主記憶メモリにデータを書き込み、及び読み出す不揮発性記憶システムであって、
前記主記憶メモリは、
それぞれが少なくとも１つのセクタを含む複数の物理ブロックから成る不揮発性のメモリであり、
前記メモリコントローラは、
前記主記憶メモリに対して読み書き制御を行う読み書き制御手段と、
前記主記憶メモリから読み出された論理物理変換テーブルを一時記憶する揮発性メモリと、
前記主記憶メモリの各物理アドレスの状態を管理する物理領域管理テーブル及び前記主記憶メモリに記憶された論理物理変換テーブルの物理アドレスを指し示すポインタを記憶する不揮発性の補助記憶メモリと、
前記論理物理変換テーブルに基づき前記主記憶メモリにおけるデータ等の記憶位置である物理アドレスを決定すると共に、前記物理領域管理テーブル及びポインタ情報の更新を行うアドレス管理情報制御手段とを有し、
前記補助記憶メモリが前記主記憶メモリよりも書き換え保証回数が多い不揮発性メモリであり、
前記アドレス管理情報制御手段は、前記ポインタが前記論理物理変換テーブルの記憶位置である物理アドレスを適宜更新することによって前記論理物理変換テーブルの記憶位置が固定化されないようにし、前記主記憶メモリのデータが変更された後に前記物理領域管理テーブル内において当該データの変更された物理アドレスを有効状態に設定する不揮発性記憶システム。
【請求項１２】
前記補助記憶メモリは、書き込み速度が前記主記憶メモリより速いメモリである請求項１１記載の不揮発性記憶システム。
【請求項１３】
前記補助記憶メモリは、不揮発性ＲＡＭである請求項１２記載の不揮発性記憶システム。
【請求項１４】
前記補助記憶メモリに保持されるポインタは、最新の主記憶メモリに記憶された論理物理変換テーブルの物理アドレス及びその直前の主記憶メモリに記憶された物理領域管理テーブルの物理アドレスを示す２組のポインタを含む請求項１１記載の不揮発性記憶システム。
【請求項１５】
前記補助記憶メモリは、強誘電体メモリ（ＦｅＲＡＭ）、磁性記録式随時書き込み読み出しメモリ（ＭＲＡＭ）、オボニックユニファイドメモリ（ＯＵＭ）、及びレジスタンスＲＡＭ（ＲＲＡＭ）のうちのいずれか１つである請求項１１記載の不揮発性記憶システム。
【請求項１６】
外部から与えられるコマンドと論理アドレスに応じて不揮発性の主記憶メモリにデータを書き込み、及び読み出すメモリ制御方法であって、
前記主記憶メモリに対して読み書き制御を行い、前記主記憶メモリから読み出された論理物理変換テーブルを揮発性メモリに一時記憶し、
前記主記憶メモリの各物理アドレスの状態を管理する物理領域管理テーブル及び前記主記憶メモリに記憶された論理物理変換テーブルの物理アドレスを指し示すポインタを不揮発性で前記主記憶メモリよりも書き換え保証回数が多い補助記憶メモリに記憶し、
前記論理物理変換テーブルに基づき前記主記憶メモリにおけるデータ等の記憶位置である物理アドレスを決定すると共に、前記物理領域管理テーブル及びポインタ情報の更新を行い、
前記ポインタが前記論理物理変換テーブルの記憶位置である物理アドレスを適宜更新することによって前記論理物理変換テーブルの記憶位置が固定化されないようにし、
前記主記憶メモリにデータが書き込まれた後に前記物理領域管理テーブル内において当該データの書き込み物理アドレスを有効状態に設定するメモリ制御方法。
【請求項１７】
前記補助記憶メモリは、書き込み速度が前記主記憶メモリより速いメモリである請求項１６記載のメモリ制御方法。
【請求項１８】
前記補助記憶メモリは、不揮発性ＲＡＭである請求項１７記載のメモリ制御方法。
【請求項１９】
前記補助記憶メモリに保持されるポインタは、最新の主記憶メモリに記憶された論理物理変換テーブルの物理アドレス及びその直前の主記憶メモリに記憶された物理領域管理テーブルの物理アドレスを示す２組のポインタを含む請求項１６記載のメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、フラッシュメモリを主記憶メモリとして具備する半導体メモリカード等の不揮発性記憶装置及びそれに内蔵されるメモリコントローラ、さらに、アクセス装置を構成要素に備えた不揮発性記憶システム、及びメモリコントローラの動作を記述したメモリ制御方法に関する。
【背景技術】
【０００２】  書き換え可能な不揮発性メモリを備えた不揮発性記憶装置は、半導体メモリカードを中心にその需要が広まっている。また半導体メモリカードを使った不揮発性記憶システムは、デジタルスチルカメラ等を中心にその需要が広まっている。半導体メモリカードには様々な種類のカードがあり、例えばＳＤメモリカードは、主記憶部であるフラッシュメモリと、それを制御するメモリコントローラとから構成されている。メモリコントローラは、デジタルスチルカメラ本体等のアクセス装置からの読み書き指示に応じて、フラッシュメモリに対する読み書き制御を行うデバイスである。【０００３】  フラッシュメモリは書換保証回数が通常１０万回といった制約がある。そこで書換えが特定の領域に集中することを回避する為に、ウェアレベリングといった仕組みが導入されている。この仕組みは、フラッシュメモリにアクセスするためにアクセス装置から与えられる論理アドレスを物理アドレスに変換することによって、特定領域に書き換えを集中させない仕組みであり、通常メモリコントローラ内部のアドレス管理テーブルに基づいて変換がなされる。アドレス管理テーブルは、通常、電源立ち上げ時の初期化処理においてフラッシュメモリに記憶されたアドレス管理情報を読み出し、これに基づいてＳＲＡＭ等の揮発性メモリに構成されるものである。【０００４】  フラッシュメモリにおけるアドレス管理情報の格納形態として、大きく２通りの方法がある。第１の方法は、物理ブロックを構成している所定ページ（セクタ）にデータを書き込む際に、管理情報、即ち当該データが有効であるかどうか等を表すステータス情報や論理アドレスをそのページが含まれる物理ブロックの先頭ページの冗長領域に書き込み、初期化時において各ブロックの先頭ページの冗長領域に書き込まれた管理情報を読み出して、揮発性メモリにアドレス管理テーブルを構築する方法である。以降この方法を分散型アドレス管理方法という。【０００５】  第２の方法は、アドレス管理情報を各ブロック単位毎に分散させて記憶するものではなく、メモリカードのメモリ領域全体、あるいはメモリ領域全体を所定数に分割した領域毎に、その領域全体に対応するアドレス管理テーブルをまとめて所定ブロックに記憶させる方法である。以降この方法を集中型アドレス管理方法という。【０００６】  本発明は集中型アドレス管理方法を前提とするものであり、この先行技術として、例えば、特許文献１に記載されたものが知られている。【０００７】  特許文献１に記載された装置にあっては、アドレス管理テーブルがフラッシュメモリの固定領域に割り付けられている。通常、データの書換頻度に対してアドレス管理テーブルの書換頻度が高い為、アドレス管理テーブルが割り付けられた領域が早く書換保証回数を上回ってしまう、即ち不揮発性記憶装置全体としての寿命が短くなってしまうという課題があった。【０００８】  この課題を解決する技術として、例えば、特許文献２に記載されたものが知られている。特許文献２によれば、アドレス管理テーブル等の書換頻度の高い情報はフラッシュメモリの固定領域に記憶させるのではなく、フラッシュメモリよりも書換保証回数の大きい不揮発性メモリ、例えばＦｅＲＡＭ（強���電体メモリ）等の不揮発性ＲＡＭに記憶させる技術が開示されている。具体的には、アドレス管理情報である論理物理変換テーブルと物理領域管理テーブルの両者を不揮発性ＲＡＭに記憶し、その上で書き換え処理を行う。なお物理領域管理テーブルとは物理ブロックに有効なデータが記憶されているどうかを表す有効フラグや、物理ブロックが不良ブロックであるかどうかを表すバッドブロックフラグを記憶したテーブルである。
【特許文献１】特開２００１−１４２７７４号公報
【特許文献２】特開平０７−２１９７２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】  しかしながら、特許文献２によれば以下のような欠点がある。まずＦｅＲＡＭ等の不揮発性ＲＡＭはフラッシュメモリやＳＲＡＭ等と比べると非常に高価であり、メモリコントローラの価格に大きく影響する。例えば表１に示すフラッシュメモリを１個使用して１２８ＭＢｙｔｅのメモリカードを実現することを考える。【００１０】
【表１】
2006067923.tif 000002
この場合、各テーブルのサイズは以下のようになる。
論理物理変換テーブルのサイズ
＝８ｋ個×１３ｂｉｔ＝約１６ｋＢｙｔｅ  ・・・（１）
物理領域管理テーブルのサイズ
＝８ｋ個×２ｂｉｔ＝２ｋＢｙｔｅ  ・・・（２）
アドレス管理テーブルのサイズ
＝論理物理変換テーブルのサイズ＋物理領域管理テーブルのサイズ
＝１６ｋＢｙｔｅ＋２ｋＢｙｔｅ
＝１８ｋＢｙｔｅ  ・・・（３）
数式（１）〜数式（３）により、アドレス管理テーブルのサイズ、即ち不揮発性ＲＡＭのサイズが約１８ｋＢｙｔｅ必要となる。そのためメモリコントローラが高価になってしまうという問題点があった。【００１１】  更に、特許文献２で開示された不揮発性記憶装置においては、データ書き込み中に電源遮断があった場合に、そのデータの有効性を判別する方法、即ち電源遮断時の対処方法が具体的に開示されていない。そのため信頼性が十分でないという欠点があった。【００１２】  本発明は上記従来の問題点を解決するもので、さほどのコストアップなしに電源遮断時にも正しく対処でき、且つ長寿命を実現することができるメモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】  この課題を解決するために、本発明のメモリコントローラは、アクセス装置から与えられるコマンドと論理アドレスに応じて不揮発性の主記憶メモリにデータを書き込み、及び読み出すメモリコントローラであって、前記メモリコントローラは、前記主記憶メモリに対して読み書き制御を行う読み書き制御手段と、前記主記憶メモリから読み出された論理物理変換テーブルを一時記憶する揮発性メモリと、前記主記憶メモリの各物理アドレスの状態を管理する物理領域管理テーブル及び前記主記憶メモリに記憶された論理物理変換テーブルの物理アドレスを指し示すポインタを記憶する不揮発性の補助記憶メモリと、前記論理物理変換テーブルに基づき前記主記憶メモリにおけるデータ等の記憶位置である物理アドレスを決定すると共に、前記物理領域管理テーブル及びポインタ情報の更新を行うアドレス管理情報制御手段とを有し、前記補助記憶メモリは、前記主記憶メモリよりも書き換え保証回数が多い不揮発性メモリであり、前記アドレス管理情報制御手段は、前記ポインタが前記論理物理変換テーブルの記憶位置である物理アドレスを適宜更新することによって前記論理物理変換テーブルの記憶位置が固定化されないようにし、前記主記憶メモリのデータが変更された後に前記物理領域管理テーブル内において当該データの変更された物理アドレスを有効状態に設定するものである。【００１４】  この課題を解決するために、本発明の不揮発性記憶装置は、不揮発性の主記憶メモリと、メモリコントローラと、を有し、外部のアクセス装置から与えられるコマンドと論理アドレスに応じて前記主記憶メモリにデータを書き込み、及び読み出す不揮発性記憶装置であって、前記主記憶メモリは、それぞれが少なくとも１つのセクタを含む複数の物理ブロックから成る不揮発性のメモリであり、前記メモリコントローラは、前記主記憶メモリに対して読み書き制御を行う読み書き制御手段と、前記主記憶メモリから読み出された論理物理変換テーブルを一時記憶する揮発性メモリと、前記主記憶メモリの各物理アドレスの状態を管理する物理領域管理テーブル及び前記主記憶メモリに記憶された論理物理変換テーブルの物理アドレスを指し示すポインタを記憶する不揮発性の補助記憶メモリと、前記論理物理変換テーブルに基づき前記主記憶メモリにおけるデータ等の記憶位置である物理アドレスを決定すると共に、前記物理領域管理テーブル及びポインタ情報の更新を行うアドレス管理情報制御手段とを有し、前記補助記憶メモリは、前記主記憶メモリよりも書き換え保証回数が多い不揮発性メモリであり、前記アドレス管理情報制御手段は、前記ポインタが前記論理物理変換テーブルの記憶位置である物理アドレスを適宜更新することによって前記論理物理変換テーブルの記憶位置が固定化されないようにし、前記主記憶メモリのデータが変更された後に前記物理領域管理テーブル内において当該データの書き込み物理アドレスを有効状態に設定するものである。【００１５】  この課題を解決するために、本発明の不揮発性記憶システムは、アクセス装置と、不揮発性記憶装置を有し、前記不揮発性記憶装置は不揮発性の主記憶メモリと、メモリコントローラと、を有し、前記アクセス装置から与えられるコマンドと論理アドレスに応じて前記主記憶メモリにデータを書き込み、及び読み出す不揮発性記憶システムであって、前記主記憶メモリは、それぞれが少なくとも１つのセクタを含む複数の物理ブロックから成る不揮発性のメモリであり、前記メモリコントローラは、前記主記憶メモリに対して読み書き制御を行う読み書き制御手段と、前記主記憶メモリから読み出された論理物理変換テーブルを一時記憶する揮発性メモリと、前記主記憶メモリの各物理アドレスの状態を管理する物理領域管理テーブル及び前記主記憶メモリに記憶された論理物理変換テーブルの物理アドレスを指し示すポインタを記憶する不揮発性の補助記憶メモリと、前記論理物理変換テーブルに基づき前記主記憶メモリにおけるデータ等の記憶位置である物理アドレスを決定すると共に、前記物理領域管理テーブル及びポインタ情報の更新を行うアドレス管理情報制御手段とを有し、前記補助記憶メモリが前記主記憶メモリよりも書き換え保証回数が多い不揮発性メモリであり、前記アドレス管理情報制御手段は、前記ポインタが前記論理物理変換テーブルの記憶位置である物理アドレスを適宜更新することによって前記論理物理変換テーブルの記憶位置が固定化されないようにし、前記主記憶メモリのデータが変更された後に前記物理領域管理テーブル内において当該データの変更された物理アドレスを有効状態に設定するものである。【００１６】  この課題を解決するために、本発明のメモリ制御方法は、外部から与えられるコマンドと論理アドレスに応じて不揮発性の主記憶メモリにデータを書き込み、及び読み出すメモリ制御方法であって、前記主記憶メモリに対して読み書き制御を行い、前記主記憶メモリから読み出された論理物理変換テーブルを揮発性メモリに一時記憶し、前記主記憶メモリの各物理アドレスの状態を管理する物理領域管理テーブル及び前記主記憶メモリに記憶された論理物理変換テーブルの物理アドレスを指し示すポインタを不揮発性で前記主記憶メモリよりも書き換え保証回数が多い補助記憶メモリに記憶し、前記論理物理変換テーブルに基づき前記主記憶メモリにおけるデータ等の記憶位置である物理アドレスを決定すると共に、前記物理領域管理テーブル及びポインタ情報の更新を行い、前記ポインタが前記論理物理変換テーブルの記憶位置である物理アドレスを適宜更新することによって前記論理物理変換テーブルの記憶位置が固定化されないようにし、前記主記憶メモリにデータが書き込まれた後に前記物理領域管理テーブル内において当該データの書き込み物理アドレスを有効状態に設定するものである。【００１７】  本発明は、集中型アドレス管理手法を前提としたものであって、主に以下の特徴を有する。
（１）アドレス管理テーブルの中の物理領域管理テーブルのみを不揮発性の補助記憶メモリ上に記憶し、論理物理変換テーブルは主記憶メモリに記憶し、一旦揮発性メモリに読み出して参照する。
（２）論理物理変換テーブルが主記憶メモリの固定領域上で書き換え更新されないようにする為に、その記憶位置を示すポインタを不揮発性の補助記憶メモリに記憶させ、ポインタ値を逐次更新することによって、主記憶メモリ上の論理物理変換テーブルを再配置的に書き換え更新させる。なおポインタは、書換耐性の高い不揮発性の補助記憶メモリ上で更新するので、ポインタの書換回数については特に問題とならない。
（３）主記憶メモリへのデータの書き込み後に、物理領域管理テーブル中の当該データに対応する情報を更新する。電源遮断が発生した場合においても、その情報をチェックすれば各種データの有効性が判別でき論理矛盾をきたすことが無い。
【発明の効果】
【００１８】  前述したとおり、アドレス管理テーブルには論理物理変換テーブルと物理領域管理テーブルの２種類がある。本発明では容量の大きい論理物理変換テーブルは主記憶メモリに記憶させ、容量の小さい物理領域管理テーブルは不揮発性の補助記憶メモリに記憶させるようにしたので、特許文献２に示した従来技術よりも低コストの不揮発性記憶装置を実現することができる。又物理領域管理テーブル上に各データの状態が記憶されているので、電源遮断が生じても、その情報は保持しているので、電源の再投入後に各データが有効かどうかを判別することが可能となり、電源遮断時の信頼性を向上させることができる。
【図面の簡単な説明】
【００１９】
【図１】図１は本発明の実施の形態における不揮発性記憶装置を示したブロック図
【図２】図２は本発明の実施の形態における物理ブロックを示した説明図
【図３】図３は本発明の実施の形態における論理アドレスフォーマットを示した説明図
【図４】図４は本発明の実施の形態における物理管理領域テーブル１０５を示した説明図
【図５】図５は本発明の実施の形態における論理物理変換テーブル１０８を示した説明図
【図６Ａ】図６Ａは本発明の実施の形態におけるポインタテーブル１０６を示した説明図
【図６Ｂ】図６Ｂは本発明の実施の形態におけるポインタテーブル１０６を示した説明図
【図７】図７は本発明の実施の形態における１クラスタ分の書き込みを示したタイムチャート
【図８】図８は本発明の実施の形態における１クラスタ分の書き込みを示したフローチャート
【符号の説明】
【００２０】  １００  アクセス装置
１０２  ＣＰＵ
１０５  物理領域管理テーブル
１０６  ポインタテーブル
１０７  補助記憶メモリ
１０８  揮発性メモリ
１１０  アドレス管理情報制御部
１１２  メモリコントローラ
１１３  主記憶メモリ
【発明を実施するための最良の形態】
【００２１】  （実施の形態）
図１は、本発明の実施の形態における不揮発性記憶システムを示したブロック図である。不揮発性記憶システムはアクセス装置１００と不揮発性記憶装置１２０とにより構成される。不揮発性記憶装置１２０はメモリコントローラ１３０と不揮発性の主記憶メモリ１４０を含んで構成されている。アクセス装置１００はこの不揮発性記憶装置１２０にメモリコントローラ１３０を介して不揮発性の主記憶メモリ１４０にユーザデータ（以下、単にデータという）の読み書き命令及び論理アドレスとデータを転送するものである。主記憶メモリ１４０は複数の物理ブロックによって構成される。【００２２】  次にメモリコントローラ１３０の内部構成について説明する。１０１はホストＩ／Ｆであり、ＣＰＵ１０２はワーク用ＲＡＭ１０３、プログラムを格納したＲＯＭ１０４によりメモリコントローラ１３０内全体の制御を行うものである。物理領域管理テーブル１０５は不揮発性の主記憶メモリ１４０内において消去単位である物理ブロックの状態、即ち有効なデータが記憶されているかどうか等の情報を記憶するテーブルである。ポインタテーブル１０６は不揮発性の主記憶メモリ１４０内に記憶されている各論理物理変換情報の中において、少なくとも最新の論理物理変換情報が記憶されている物理ブロックアドレスを指し示すポインタを記憶したテーブルである。不揮発性の補助記憶メモリ１０７は物理領域管理テーブル１０５とポインタテーブル１０６を記憶する。論理物理変換テーブル１０８はアクセス装置１００が転送した論理アドレスを不揮発性の主記憶メモリ１４０内の物理アドレスに変換するテーブルであり、論理物理変換テーブル１０８は揮発性メモリ１０９（例えばＳＲＡＭ）に一時記憶されている。読み書き制御部１１１は不揮発性の主記憶メモリ１４０の読み書き等を行う制御部である。なお、不揮発性の主記憶メモリ１４０は例えばフラッシュメモリであり、補助記憶メモリ１０７は、例えば強誘電体メモリ（ＦｅＲＡＭ）等の不揮発性メモリである。【００２３】  図２は、本発明の実施の形態における主記憶メモリ１４０内の１つの物理ブロックを示した説明図である。図２において物理ブロックは３２ページから構成され、各ページは１セクタ分のデータ領域と、管理領域とからなる。本実施の形態においては１セクタを５１２Ｂｙｔｅとする。【００２４】  図３は、本実施の形態における論理ブロックアドレスＬＢＡのフォーマットを示した説明図である。図３において下位ビットから順に、５ビットのページアドレス、１３ビットの論理ブロックアドレスである。１３ビット分の論理ブロックアドレスがアドレス変換の対象、即ち論理物理変換テーブル１０８のアドレスに相当する。なおアクセス装置１００のファイルシステムで規定されるセクタサイズを５１２Ｂｙｔｅ、クラスタサイズを１６ｋＢｙｔｅとするので、クラスタナンバーのＬＳＢは論理アドレスフォーマットのビット５（ｂ５）に対応することとなる。【００２５】  図４は、本実施の形態における物理領域管理テーブル１０５を示した説明図である。物理領域管理テーブル１０５は、アドレスが不揮発性の主記憶メモリ１４０の各物理ブロックアドレスに対応し、各物理ブロックの状態を２ビットのフラグで記憶する���ーブルである。図４において、２進数で値００は有効なデータが記憶されている有効ブロックを示し、値１１は消去済み、もしくはデータが書き込まれているが不要である無効ブロックを示し、値１０はメモリセル上のソリッドエラー等により使用できなくなった不良ブロックを示す。【００２６】  図５は、本実施の形態における論理物理変換テーブル１０８を示した説明図である。図５において、そのアドレスはアクセス装置１００が指定した論理ブロックアドレスＬＳＡ（図３）に対応し、論理物理変換テーブル１０８内には物理ブロックアドレスＰＢＡが記憶されている。【００２７】  図６Ａ，図６Ｂは、本実施の形態におけるポインタテーブル１０６を示した説明図である。ポインタテーブル１０６には２種類のポインタ１０６ａ，１０６ｂがある。一方が不揮発性の主記憶メモリ１４０に記憶された論理物理変換情報の中の最新の論理物理変換情報の物理アドレスを指し示すポインタであり、他方が旧い論理物理変換情報の物理アドレスを指し示すポインタである。太枠で示したＢｙｔｅ１の最上位ビットは最新フラグであり、このビットに値１が付与された方のポインタが、最新の論理物理変換情報の物理アドレスを指し示すポインタである。各ポインタ毎に、１３ビット分のポインタ値（物理アドレス値）を保持する領域を持つ。Ｂｙｔｅ１側のｂ４をＭＳＢ、Ｂｙｔｅ０側のｂ０をＬＳＢとしてポインタ値が記憶される。例えば主記憶メモリ１４０の５番地に論理物理変換情報が記憶されている場合は、ポインタ値が値５となる。【００２８】  以上のように構成された、不揮発性記憶装置の動作について説明する。図７は、本実施の形態における１クラスタ分の書き込みを示したタイムチャート、図８は、そのフローチャートである。まず、不揮発性記憶装置が出荷直後における主記憶メモリ１４０や各種テーブルの内容について説明する。なお簡単の為、主記憶メモリ１４０内のシステム領域については説明を省略し、通常領域、即ちユーザがデータを読み書きする領域についてのみ説明する。出荷直後、最初に使用される際は、主記憶メモリ１４０の良ブロックは全て消去された状態となっている。物理領域管理テーブル１０５において、良ブロックは無効ブロック状態、即ち２進数の値１１が設定されており、初期不良ブロックは不良ブロック即ち２進数の値１０が設定されている。論理物理変換テーブル１０８に対応する論理物理変換情報が、主記憶メモリ１４０の０番地の物理ブロックに記憶されている。又図６Ａに示すようにポインタテーブル１０６内のポインタ１０６ａの最新フラグのみが値１でポインタ値が値０、ポインタ１０６ｂは最新フラグ、ポインタ値共に値０となっている。なお、主記憶メモリ１４０の０番地の物理ブロックが不良ブロックの場合は次の１番地の物理アドレスに論理物理変換情報が記憶され、ポインタ０のポインタ値は値１が記憶されることとなる。【００２９】  電源オン後、ＣＰＵ１０２はＲＯＭ１０４に記憶されたプログラムに基づいて初期化処理を行う。初期化において、アドレス管理情報制御部１１０はポインタテーブル１０６を参照する。そして図６Ａに示すように最新フラグが値１となっているポインタ、即ちポインタ１０６ａのポインタ値に基づき��主記憶メモリ１４０の０番地の物理ブロックに記憶されている論理物理変換情報を読み書き制御部１１１を介して読み出し、揮発性メモリ１０９上に論理物理変換テーブル１０８を形成する。その後、アクセス装置１００からの読み書き等のコマンド受付状態に入る。通常、アクセス装置１００はクラスタ単位での書き込みが行われる場合が多いので、以降クラスタ単位での書き込みについて説明する。アクセス装置１００から任意の論理アドレス（図３）への書き込み指示がなされると、論理アドレス値に基づいて、ＣＰＵ１０２は物理ブロックが満遍なく使用されるように無効ブロックをサーチし、最初に見つかった無効ブロックを書き込み対象ブロックとして、消去した後に書き込みを行う。物理領域管理テーブル１０５の０番地側から降順に無効ブロックをサーチしてもよい。【００３０】  さて、本実施の形態の不揮発性記憶装置は、主記憶メモリであるフラッシュメモリよりも書換耐性が高く且つ小容量の書き込み速度が速い不揮発性ＲＡＭを利用している。【００３１】
【表２】
2006067923.tif 000003
このような特徴を有する不揮発性ＲＡＭは、フラッシュメモリなどを主記憶メモリした不揮発性記憶装置において、書き換え頻度が高く、高速書き込みが要求される情報（例えばアドレス管理情報）を記憶するデバイスとして、性能面においては最適なデバイスと言える。但し、フラッシュメモリやＳＲＡＭと比べると、比較的コストが高い為、多くの情報を記憶させることが出来ないといった課題も有している。例えば論理物理変換テーブル１０８と物理領域管理テーブル１０５の両者を記憶させようとすると、コスト的に無視できなくなってしまう。これは装置全体の記憶容量が大きくなればなる程顕著となる課題である。そこで本実施の形態においては、コスト面の課題に対応する為に、不揮発性ＲＡＭには、比較的サイズの小さな情報、即ち物理領域管理テーブル１０５とポインタテーブル１０６を記憶させるようにしている。物理領域管理テーブルは図４に示すように各物理ブロックの状態を２ビットで記憶するものとすれば２ｋＢが必要であり、ポインタテーブルは４バイトが必要となる。従って不揮発性補助記憶メモリ１０７の容量は２０５２バイトとなる。又物理領域管理テーブル１０５を各物理ブロックの状態を有効及び無効のみで記憶するものとし、消去済みもしくは不良ブロックを無効ブロックとしてまとめて記憶するものとすれば、１ビットの容量で足りる。この場合には物理領域管理テーブルは１ｋＢ、ポインタテーブルは４バイトとなる。更に論理物理変換情報が１つの物理ブロックに収まり切れない場合には、ポインタも新旧夫々２つの論理物理変換情報を記憶する物理ブロックのアドレスを保持する必要がある。この場合には８バイトで新旧のポインタとすることができる。【００３２】  次に、アドレス管理の方法について説明する。不揮発性の主記憶メモリ１４０は複数の物理ブロックから構成される。各物理ブロックは、データもしくはアドレス管理情報の一部である論理物理変換情報が記憶されることとなるが、ある任意の時刻において、論理物理変換情報が、例えば図１に示すように論理物理変換情報Ａ，Ｂ，Ｃ…のように記憶されているとする。論理物理変換情報はひとつの物理ブロックに固定的に割り付けると、その更新頻度が多いために、ウェアレベリング上問題となる。その為、再配置的、即ち記憶領域が固定しないように割り付ける必要があり、論理物理変換情報Ａ，Ｂ，Ｃ…と複数ブロックに亘って再配置されている。この中で最新の論理物理変換情報がいずれか１つの物理ブロックに保持されており、他は旧い論理物理変換情報である。それがどの物理ブロックに記憶されているかを表すものが、ポインタテーブル１０６である。アドレス管理情報制御部１１０は、ポインタテーブル１０６を参照し、ポインタ１０６ａ，１０６ｂの最新フラグをチェックし、そのビットに値１が設定されている方を、最新の論理物理変換情報が記憶されている物理ブロックのポインタであると認識する。図６Ｂに示した例によれば、ポインタ１０６ｂが最新ポインタであり、ポインタ１０６ｂのポインタ値、即ち５番地が最新の論理物理変換情報が記憶されている物理ブロックの物理アドレスとなる。ポインタ１０６ａのポインタ値、即ち０番地は、最新の論理物理変換情報の１つ前の旧���論理物理変換情報が記憶された物理ブロックの物理アドレスである。そして読み書き制御部１１１を介して、主記憶メモリ１４０より、物理アドレスが５番地の物理ブロックに記憶されている情報、即ち最新の論理物理変換情報を揮発性メモリ１０９に読み出し、図５に示すような論理物理変換テーブル１０８を形成する。【００３３】  電源がオフされない間は、常に論理物理変換テーブル１０８を参照しながら、データの読み書き処理を行う。なお、データの書き込み等に応じて論理物理変換テーブル１０８が更新され、その都度、不揮発性の主記憶メモリ１４０に書き戻される。【００３４】  次に不揮発性の主記憶メモリ１４０への書き戻しについて説明する。まず物理領域管理テーブル１０５に基づいて無効ブロックを検索し、その無効ブロックを消去した後に論理物理変換テーブル１０８を主記憶メモリ１４０に書き戻す。ポインタテーブル１０６の中の最新フラグが値０のポインタの方に、前記無効ブロックの物理アドレス（物理アドレスＸとする）を書き込むと共に、最新フラグを値１に設定する。そして他方のポインタの最新フラグを値０に設定する。すなわち、２つのポインタを順繰りに使い廻すことになる。【００３５】  最後に物理領域管理テーブル１０５において、物理アドレスＸのステータスフラグを２進数で値００、即ち有効ブロックに更新する。物理領域管理テーブル１０５におけるステータスフラグの更新操作は、論理物理変換テーブル１０８の書き戻し処理の時だけではなく、データの書き込みにおいてもなされる。以上の処理から解るとおり、物理領域管理テーブル１０５やポインタテーブル１０６は頻繁に書き換えられるテーブルであるが、これらを記憶している不揮発性の補助記憶メモリ１０７は、表２に示したような書換耐性が非常に高い不揮発性ＲＡＭで実現しているので、装置全体の書き換え寿命に影響を与えるものではない。【００３６】  さて、前述した一連の書き込み処理を、図８、図７及び図１を参照しつつ説明する。まず図８において、アクセス装置１００から１クラスタ分のデータの書き込み指示がなされ、書き込むべきデータとその論理アドレスを受信する（Ｓ８０１）。ホストＩ／Ｆ１０１はこれを受けて、ＣＰＵ１０２に対して書き込み制御要求を発行する。ＣＰＵ１０２はアドレス管理情報制御部１１０に制御を移し、アドレス管理情報制御部１１０は物理領域管理テーブル１０５を参照して無効ブロックを検索し、データ書き込み先のブロックａと、論理物理変換テーブル１０８の書き戻し先のブロックｂを決定する（Ｓ８０２）。なお、無効ブロックの検索に際しては、主記憶メモリ１４０中の物理ブロックが満遍なく使用されるように検索がなされる。詳細については省略する。さて、ブロックａの物理アドレスを論理物理変換テーブル１０８の対応する論理アドレスの位置に書き込んだ後に（Ｓ８０３）、ブロックａ，ｂの消去処理を行う（Ｓ８０４）。この消去時間をＴ０とする。通常、フラッシュメモリの１ブロックの消去に２ｍＳｅｃ程度の時間を要する。【００３７】  次に１クラスタ分のデータをブロックａに書き込む（Ｓ８０５）。また１ページ分の書き込みに３００μＳｅｃ程度の時間を要するので、１クラスタ、即ち３２ページ分のデ���タを書き込む為に、概ね１０ｍＳｅｃを要する（図７）。アドレス管理情報制御部１１０は、読み書き制御部１１１を介して不揮発性の主記憶メモリ１４０からフィードバックされてきたＲ／Ｂ信号（レディ／ビジー信号）及び書き込みサイズ値に基づいて、３２ページ分全て書き込みが完了したかどうかを判断する（Ｓ８０６）。【００３８】  書き込みが完了した場合は、揮発性メモリ１０９上の論理物理変換テーブル１０８をブロックｂに書き込む（Ｓ８０７）。アドレス管理情報制御部１１０は、論理物理変換テーブル１０８の全て、即ち３２ページ分の書き戻し処理が完了したかどうかを判断し（Ｓ８０８）。図７に示すようにブロックａ，ｂへの書き込み時間をＴ１とする。完了した場合は、ブロックｂに対応する物理アドレスを補助記憶メモリ１０７のポインタテーブル１０６上に書き込む（Ｓ８０９）。この書き込み時間をＴ２−１とする。次に物理領域管理テーブル１０５において、ブロックａ，ｂに対応するステータスフラグを有効ブロックに設定し、処理を終える（Ｓ８１０）。この書き込み時間を夫々Ｔ２−２，Ｔ２−３とする。１つの物理ブロックに対応するステータスフラグの更新は２ビットの書き換えであるので、表２に示すとおりＴ２−１〜Ｔ２−３は夫々１００ｎＳｅｃ程度で済む（図７）。なお、Ｓ８０９において、ブロックｂに対応する物理アドレスを書き込むポインタは、書き込む時点でその最新フラグが値０のポインタの方に書き込み、更にそのポインタの最新フラグを値１に変更すると共に他方のポインタの最新フラグを値０に変更する。【００３９】  さて、図７において、不揮発性の主記憶メモリ１４０への消去及び書き込み期間、即ち書き込み期間Ｔ０及びＴ１の間に電源遮断が発生したとしても、ブロックａ，ｂに対応するステータスフラグやポインタテーブル１０６の更新がなされていない為、次の電源オンの後は、書き込み期間Ｔ１に書き込まれたデータや論理物理変換テーブル１０８は無効データとして扱われるので、論理的な矛盾は発生しない。また不揮発性ＲＡＭを利用した不揮発性の補助記憶メモリ１０７への書き込み期間、即ち書き込み期間Ｔ２−１〜Ｔ２−３の間に電源遮断が発生したとしても、不揮発性の補助記憶メモリ１０７への書き込み時間は全部で３００ｎＳｅｃと非常に速い。従って電源遮断が発生してＣＰＵ１０２やアドレス管理情報制御部１１０等の動作が停止するまでの時間内に書き込みを完了できるだけの設計が可能であるので、電源遮断の影響を受けることはない。即ち中途半端な書き込みになって、読み出しの都度その値が変わるといった、論理矛盾をきたすような不具合は発生しない。言い換えれば、確実に書き込めたか、あるいは書き込めないか、のいずれかの状態であり、前者であれば、書き込み期間Ｔ１に書き込まれたデータや論理物理変換テーブル１０８は有効として扱われ、後者であれば、無効として扱われる。【００４０】  さて、図８及び図７を用いて１クラスタ分のデータの書き込み処理について説明したが、例えば１クラスタ分のデータの書き換え処理についても同様の処理で実施できる。但し、書き換え処理の場合は、旧いクラスタデータが記憶されている物理ブロックの状態を示すフラグを無効ブロックに設���する必要がある。この処理は図８においてＳ８１０の直後に実行させればよい。【００４１】  なお、不揮発性補助記憶メモリとして強誘電体メモリ（ＦｅＲＡＭ）を使用した例で説明したが、ＦｅＲＡＭだけでなく、磁性記録式随時書き込み読み出しメモリ（ＭＲＡＭ）、オボニックユニファイドメモリ（ＯＵＭ）、レジスタンスＲＡＭ（ＲＲＡＭ）等の他の不揮発性ＲＡＭを使用しても構わない。これらの不揮発性ＲＡＭもほぼ表２の特性を示す。【００４２】  以上のように、不揮発性の主記憶メモリ１４０のアドレス管理を行う情報において、論理物理変換テーブル１０８に対応する論理物理変換情報は、比較的低コストのフラッシュメモリで実現した主記憶メモリ１４０に記憶させ、一方物理領域管理テーブル１０５は、比較的高コストの不揮発性ＲＡＭで実現した補助記憶メモリ１０７に記憶させ、更に補助記憶メモリ１０７には、数Ｂｙｔｅ程度のポインタテーブル１０６を記憶させるようにした。論理物理変換テーブル１０８と物理領域管理テーブル１０５の両者を、不揮発性ＲＡＭに記憶させた従来の装置よりも、不揮発性ＲＡＭの容量を合理化することができる。即ち装置全体のコストを低く抑えることができる。【００４３】  また、アドレス管理情報制御部１１０がポインタテーブル１０６及び物理領域管理テーブル１０５に基づいて、論理物理変換テーブル１０８の不揮発性の主記憶メモリ１４０に対する書き戻し処理を再配置的に行うようにした。即ち論理物理変換情報が主記憶メモリ１４０の固定領域に割り付けられないので、簡単な回路構成でウェアレベリングを実現することができる。【００４４】  また、物理領域管理テーブル１０５を、高速書き込み可能な補助記憶メモリ１０７に記憶させ、アドレス管理情報制御部１１０が、データや論理物理変換テーブル１０８を不揮発性の主記憶メモリ１４０に書き込んだ後に、物理領域管理テーブル１０５の対応するステータスフラグを有効ブロックに設定するようにしたので、電源遮断が発生しても論理矛盾をきたすような問題が発生することはない。
【産業上の利用可能性】
【００４５】  本発明にかかる不揮発性記憶装置は、不揮発性メモリを主記憶メモリとして使用し、また不揮発性の補助記憶メモリを使用した装置において、高速処理性を損なうことなく低コスト且つ高信頼性を実現する技術を提案したものであり、静止画記録再生装置や動画記録再生装置等のポータブルＡＶ機器、あるいは携帯電話等のポータブル通信機器の記録媒体として有益である。
【図１】
2006067923.tif 000004
【図２】
2006067923.tif 000005
【図３】
2006067923.tif 000006
【図４】
2006067923.tif 000007
【図５】
2006067923.tif 000008
【図６Ａ】
2006067923.tif 000009
【図６Ｂ】
2006067923.tif 000010
【図７】
2006067923.tif 000011
【図８】
2006067923.tif 000012
【国際調査報告】
2006067923.tif 000013
2006067923.tif 000014
2006067923.tif 000015
2006067923.tif 000016